qq接入和分享android,Android社交登录授权、分享SDK,支持微信、微博和QQ
社交登錄授權(quán),分享SDK
支持微信、微博、QQ登錄授權(quán)
微信好友、微信朋友圈、微博、QQ好友、QQ空間分享
Gradlecompile?'com.elbbbird.android:socialsdk:0.2.0@aar'
使用指南
Debug模式SocialSDK.setDebugMode(true);?//默認(rèn)false
平臺(tái)SSO授權(quán)功能
ISocialOauthCallback授權(quán)回調(diào)接口
授權(quán)結(jié)果回調(diào)
SDK使用了Otto作為事件庫,用以組件通信。(其實(shí)我是不想寫startActivityForResult …)
在調(diào)用SocialSDK.oauth()接口Activity的onCreate()方法內(nèi)添加BusProvider.getInstance().register(this);
在該Activity的onDestroy()方法添加@Overrideprotected?void?onDestroy()?{
BusProvider.getInstance().unregister(this);????super.onDestroy();
}
添加回調(diào)接口@Subscribepublic?void?onOauthResult(BusEvent?event)?{????switch?(event.getType())?{????????case?BusEvent.TYPE_GET_TOKEN:
SocialToken?token?=?event.getToken();
Log.i(TAG,?"onOauthResult#BusEvent.TYPE_GET_TOKEN?"?+?token.toString());????????????break;????????case?BusEvent.TYPE_GET_USER:
SocialUser?user?=?event.getUser();
Log.i(TAG,?"onOauthResult#BusEvent.TYPE_GET_USER?"?+?user.toString());????????????break;????????case?BusEvent.TYPE_FAILURE:
Exception?e?=?event.getException();
Log.i(TAG,?"onOauthResult#BusEvent.TYPE_FAILURE?"?+?e.toString());????????????break;????????case?BusEvent.TYPE_CANCEL:
Log.i(TAG,?"onOauthResult#BusEvent.TYPE_CANCEL");????????????break;
}
}
微博授權(quán)
配置微博后臺(tái)回調(diào)地址
SDK的默認(rèn)回調(diào)地址為http://www.sina.com,需要在微博后臺(tái)配置,否則會(huì)提示回調(diào)地址錯(cuò)誤。
如果在SocialSDK.initWeibo()方法自定義了回調(diào)地址,需要在后臺(tái)配置為相應(yīng)地址。
oauthSocialSDK.initWeibo("app_key");?SocialSDK.oauthWeibo(context);
onActivityResultSocialSDK.oauthWeiboCallback(context,?requestCode,?resultCode,?data);
revokeSocialSDK.revokeWeibo(context);
微信授權(quán)
WXEntryActivity
創(chuàng)建包名:package_name.wxapi
在該包名下創(chuàng)建類WXEntryActivity繼承自WXCallbackActivitypackage?com.encore.actionnow.wxapi;?public?class?WXEntryActivity?extends?WXCallbackActivity?{
}
AndroidManifest.xml
android:name=".wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"?/>
oauthSocialSDK.initWeChat("app_id",?"app_secret");?SocialSDK.oauthWeChat(context);
revokeSocialSDK.revokeWeChat(context);
QQ授權(quán)
AndroidManifest.xml
android:name=".wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"?/>
以上配置中的XXXXXXXXX換成app_id.
oauthSocialSDK.initQQ(app_id);?SocialSDK.oauthQQ(context);
onActivityResultif?(requestCode?==?Constants.REQUEST_LOGIN?||?requestCode?==?Constants.REQUEST_APPBAR)?{
SocialSDK.oauthQQCallback(requestCode,?resultCode,?data);
}
revokeSocialSDK.revokeQQ(context);
SDK默認(rèn)授權(quán)界面,展示全平臺(tái)授權(quán)接口
配置微博后臺(tái)回調(diào)地址
SDK的默認(rèn)回調(diào)地址為http://www.sina.com,需要在微博后臺(tái)配置,否則會(huì)提示回調(diào)地址錯(cuò)誤。
如果在SocialSDK.init()方法自定義了回調(diào)地址,需要在后臺(tái)配置為相應(yīng)地址。
WXEntryActivity
創(chuàng)建包名:package_name.wxapi
在該包名下創(chuàng)建類WXEntryActivity繼承自WXCallbackActivitypackage?com.encore.actionnow.wxapi;?public?class?WXEntryActivity?extends?WXCallbackActivity?{
}
AndroidManifest.xml
以上配置中的XXXXXXXXX換成app_id.
oauthSocialSDK.init("wechat_app_id",?"wechat_app_secret",?"weibo_app_id",?"qq_app_id");?SocialSDK.oauth(context);
revokeSocialSDK.revoke(context);
FAQ
關(guān)于三個(gè)平臺(tái)的賬號(hào)
微博應(yīng)用程序注冊(cè)完成后,需要在后臺(tái)配置測(cè)試賬號(hào),包名,簽名信息,然后開始測(cè)試;
微信應(yīng)用程序注冊(cè)后,需要配置包名和簽名,并提交審核通過,可以獲得分享權(quán)限。SSO登錄權(quán)限需要開發(fā)者認(rèn)證。(保護(hù)費(fèi)不到位,測(cè)試都不能做)
QQ需要在后臺(tái)配置測(cè)試賬號(hào)才能SSO登錄。
是否需要配置權(quán)限?
SDK已經(jīng)在aar中添加三個(gè)平臺(tái)需要的權(quán)限,以下
打開App,閱讀手記
總結(jié)
以上是生活随笔為你收集整理的qq接入和分享android,Android社交登录授权、分享SDK,支持微信、微博和QQ的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 半同步_mysql 主从同步
- 下一篇: php购票排位_PHP基于双向链表与排序