社交登录授权,分享SDK
支持微信、微博、QQ登录授权
微信好友、微信朋友圈、微博、QQ好友、QQ空间分享
Gradlecompile'com.elbbbird.android:socialsdk:0.2.0@aar'
使用指南
Debug模式SocialSDK.setDebugMode(true);//默认false
平台SSO授权功能
ISocialOauthCallback授权回调接口
授权结果回调
SDK使用了Otto作为事件库,用以组件通信。(其实我是不想写startActivityForResult …)
在调用SocialSDK.oauth()接口Activity的onCreate()方法内添加BusProvider.getInstance().register(this);
在该Activity的onDestroy()方法添加@OverrideprotectedvoidonDestroy(){
BusProvider.getInstance().unregister(this);super.onDestroy();
}
添加回调接口@SubscribepublicvoidonOauthResult(BusEventevent){switch(event.getType()){caseBusEvent.TYPE_GET_TOKEN:
SocialTokentoken=event.getToken();
Log.i(TAG,"onOauthResult#BusEvent.TYPE_GET_TOKEN"+token.toString());break;caseBusEvent.TYPE_GET_USER:
SocialUseruser=event.getUser();
Log.i(TAG,"onOauthResult#BusEvent.TYPE_GET_USER"+user.toString());break;caseBusEvent.TYPE_FAILURE:
Exceptione=event.getException();
Log.i(TAG,"onOauthResult#BusEvent.TYPE_FAILURE"+e.toString());break;caseBusEvent.TYPE_CANCEL:
Log.i(TAG,"onOauthResult#BusEvent.TYPE_CANCEL");break;
}
}
微博授权
配置微博后台回调地址
SDK的默认回调地址为,需要在微博后台配置,否则会提示回调地址错误。
如果在SocialSDK.initWeibo()方法自定义了回调地址,需要在后台配置为相应地址。
oauthSocialSDK.initWeibo("app_key");SocialSDK.oauthWeibo(context);
onActivityResultSocialSDK.oauthWeiboCallback(context,requestCode,resultCode,data);
revokeSocialSDK.revokeWeibo(context);
微信授权
WXEntryActivity
创建包名:package_name.wxapi
在该包名下创建类WXEntryActivity继承自WXCallbackActivitypackagecom.encore.actionnow.wxapi;publicclassWXEntryActivityextendsWXCallbackActivity{
}
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授权
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默认授权界面,展示全平台授权接口
配置微博后台回调地址
SDK的默认回调地址为,需要在微博后台配置,否则会提示回调地址错误。
如果在SocialSDK.init()方法自定义了回调地址,需要在后台配置为相应地址。
WXEntryActivity
创建包名:package_name.wxapi
在该包名下创建类WXEntryActivity继承自WXCallbackActivitypackagecom.encore.actionnow.wxapi;publicclassWXEntryActivityextendsWXCallbackActivity{
}
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
关于三个平台的账号
微博应用程序注册完成后,需要在后台配置测试账号,包名,签名信息,然后开始测试;
微信应用程序注册后,需要配置包名和签名,并提交审核通过,可以获得分享权限。SSO登录权限需要开发者认证。(保护费不到位,测试都不能做)
QQ需要在后台配置测试账号才能SSO登录。
是否需要配置权限?
SDK已经在aar中添加三个平台需要的权限,以下
打开App,阅读手记
如果觉得《qq接入和分享android Android社交登录授权 分享SDK 支持微信 微博和QQ》对你有帮助,请点赞、收藏,并留下你的观点哦!