友盟 第三方登录
关于基本配置问题 请移步点击打开链接。
第三方登录 首先要申请友盟的Appkey,然后在的QQ 微信、新浪 三方平台获取自己的 Appkey 和App Secret
1.集成友盟SDK 解压后如图
2.使用 友盟集成工具 生成自己想得到的jar包
集成自己需要的工具包,代码生成工具 可以更快的 帮助你配置文件
3.授权登陆 首先 要在Application中 配置
//开启debug模式,方便定位错误,具体错误检查方式可以查看http://dev.umeng.com/social/android/quick-integration的报错必看,正式发布,请关闭该模式 Config.DEBUG = true; QueuedWork.isUseThreadPool = false; UMShareAPI.get(this);
例如微信:{PlatformConfig.setWeixin("Appkry", "AppSecret");}
然后配置自己在第三方平台所注册的Appkey和AppSecret 新浪记得要配置 回调网址为你在新浪配置网址
请看http://dev.umeng.com/social/android/operation
4.如果想每次授权都出现授权页面请在你授权事件的Activity中配置以下几句代码:
UMShareConfig config = new UMShareConfig(); config.isNeedAuthOnGetUserInfo(true); UMShareAPI.get(Activity.this).setShareConfig(config);注意:新浪配置回调和微信配置回调 微信回调类最好放在wxapi文件夹下虽然这两个类是空的 但必须配置
新浪 :import com.umeng.socialize.media.WBShareCallBackActivity; public class WBShareActivity extends WBShareCallBackActivity { }微信:import com.umeng.weixin.callback.WXCallbackActivity; //import com.umeng.socialize.weixin.view.WXCallbackActivity; public class WXEntryActivity extends WXCallbackActivity { }精简版AndroidManifest 记得配置
微信:
<activity android:name=".wxapi.WXEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> 新浪:完整版请看点击打开链接;<activity android:name=".WBShareActivity" android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" > <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>授权代码 :UMShareAPI.get(this).getPlatformInfo(LoginActivity2.this, SHARE_MEDIA.QQ, authListener);UMAuthListener authListener=new UMAuthListener() { @Override//SHARE_MEDIA 可以判断授权的第三方是什么 public void onStart(SHARE_MEDIA share_media) { } @Override//授权成功回调 public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) { } @Override//授权失败回调 public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) { } @Override//取消授权回调 public void onCancel(SHARE_MEDIA share_media, int i) { } };@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); }