Android ShareSDK 微信,QQ,新浪微博第三方登录

本文介绍了在Android项目中使用ShareSDK整合微信、QQ和新浪微博进行第三方登录时遇到的问题及解决步骤。首先,下载ShareSDK的Demo并集成,注意AndroidManifest.xml中微信回调活动必须在指定包名下。其次,详细说明了微信登录的签名配置,以及如何处理新浪微博授权失败的问题。最后,分享了关键代码片段,并指出官方Demo中可能存在的用户体验问题。
摘要由CSDN通过智能技术生成

在用ShareSDK 之前,自己用QQ官方文档做了QQ登录。后来选了ShareSdk

现在来说下在这我踩得坑以及一些步骤,http://sharesdk.mob.com/#/downloadDetail/ShareSDK/android 下载demo,然后复制粘贴。不出意料的大堆问题...


一,将AndroidManifest.xml里的 <activity android:name="com.mob.tools.MobUIShell"></activity>的东西都复制过来。

第一个坑,微信回调《《必须,必须一定》》得是你的项目包下的 .wxapi.WXEntryActivity 下,即使你正常注册了。你的微信回调页面没有在这个包下,能正常调起微信登录与授权页面,但是当你点击确认登录的时候不会报错,没有提示,但是没有返回数据。。。


二,各个平台申请账号,集成到assets --> ShareSDK.xml 微信登录需要签名,这在网上都能搜到,下载地址 微信平台开发应用的签名

第二个坑,新浪微博。我已经做好,后来因为IOS改动了新浪后台的默认回调链接,然后就一直报新浪微博授权失败,redirect_url与应用注册的网址不一致,这个地址能解决问题。


其实当准备完毕后,代码很简单。因为公司项目的原因,我贴出关键的代码,有问题的可以留言。

@Override
	public void onClick(View v) {
		super.onClick(v);
		switch (v.getId()) {
		case R.id.tvLoginWechat:
			login(Wechat.NAME);
			break;

		case R.id.tvLoginQQ:
			login(QQ.NAME);
			break;

		case R.id.tvLoginSina:
			login(SinaWeibo.NAME);
			break;

                default:
			break;
		}
	}
//return;
/*
* 演示执行第三方登录/注册的方法
* <p>
* 这不是一个完整的示例代码,需要根据您项目的业务需求,改写登录/注册回调函数
*
* @param platformName 执行登录/注册的平台名称,如:SinaWeibo.NAME
*/
private void login(String platformName) {

Platform plat = ShareSDK.getPlatform(platformName);
if (plat.isAuthValid()) {

plat.removeAccount(true);

//return  TODO 这一步在官方Demo里是没有的,当用户已经授权后,直接return.不会调起授权页面,感觉体验不太好.

}

LoginApi loginApi = new LoginApi();
//设置登陆的平台后执行登陆的方法
loginApi.setPlatform(platformName);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值