使用Sharesdk实现第三方平台登录(qq,新浪微博)
2014-03-28 14:10
661 查看
首先到sharesdk开放平台下载demo ,以下要用到的文件来自于 simple里面
第一步:导入官方的jar包
第二步:添加ShareSDK.xml文件并修改相关平台key
第三步:AndroidManifest.xml文件中添加
<activity
android:name="cn.sharesdk.framework.ShareSDKUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" >
<!--
AuthorizeAdapter表示一个继承自cn.sharesdk.framework.authorize.AuthorizeAdapter
的类,这个类可以监听到页面的生命周期,也可以获取授权页面的各种UI控件。
开发者可以通过继承AuthorizeAdapter,重写其方法,并获取各种UI来自定义这个页面的行为。
-->
<meta-data
android:name="AuthorizeAdapter"
android:value="cn.sharesdk.demo.MyAdapter" />
<!--
QZoneWebShareAdapter表示一个继承自cn.sharesdk.tencent.qzone.QZoneWebShareAdapter
的类,这个类可以监听到页面的生命周期,也可以获QQ空间网页分享权页面的各种UI控件。
开发者可以通过继承QZoneWebShareAdapter,重写其方法,并获取各种UI来自定义这个页面的行为。
-->
<meta-data
android:name="QZoneWebShareAdapter"
android:value="cn.sharesdk.demo.MyQZoneWebShareAdapter" />
<!--
Dropbox的SSO功能需要在此处添加一个对ACTION_VIEW事件的过滤器,其中的scheme是
“db-”前缀再开发者应用的加上appKey。如果此过滤器不设置,则不能完成SSO功能授权
-->
<intent-filter>
<data android:scheme="db-7janx53ilz11gbs" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
第四步:【qq不需要】如果是新浪平台则需添加一些图片和文字
第五步:activity中调用
oncreate中初始化:ShareSDK.initSDK(this);
qq点击事件:Platform plat_qq = ShareSDK.getPlatform(LoginActivity.this,
QZone.NAME);
plat_qq.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onError(Platform plat, int action, Throwable arg2) {
System.out.println("action" + action);
Message msg = new Message();
msg.what = 1;
msg.obj = plat;
handler.sendMessage(msg);
}
@Override
public void onComplete(Platform arg0, int action,
HashMap<String, Object> res) {
System.out.println("action" + action);
System.out.println(res);
// result(res);// 处理结果
Message msg = new Message();
msg.what = 0;
msg.obj = res;
handler.sendMessage(msg);
}
@Override
public void onCancel(Platform plat, int action) {
Message msg = new Message();
msg.what = 2;
msg.obj = plat;
handler.sendMessage(msg);
}
});
plat_qq.showUser(null);
新浪点击事件:
Platform plat_sina = ShareSDK.getPlatform(LoginActivity.this,
SinaWeibo.NAME);
plat_sina.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onError(Platform plat, int action, Throwable arg2) {
System.out.println("action" + action);
Message msg = new Message();
msg.arg1 = 2;
msg.arg2 = action;
msg.obj = plat;
handler.sendMessage(msg);
}
@Override
public void onComplete(Platform arg0, int arg1,
HashMap<String, Object> arg2) {
System.out.println(arg2);
result_sian(arg2);
}
@Override
public void onCancel(Platform plat, int action) {
Message msg = new Message();
msg.arg1 = 3;
msg.arg2 = action;
msg.obj = plat;
handler.sendMessage(msg);
}
});
plat_sina.showUser(null);
剩下的回调处理自己写吧。
这样就可以获取到用户信息了
第一步:导入官方的jar包
第二步:添加ShareSDK.xml文件并修改相关平台key
第三步:AndroidManifest.xml文件中添加
<activity
android:name="cn.sharesdk.framework.ShareSDKUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" >
<!--
AuthorizeAdapter表示一个继承自cn.sharesdk.framework.authorize.AuthorizeAdapter
的类,这个类可以监听到页面的生命周期,也可以获取授权页面的各种UI控件。
开发者可以通过继承AuthorizeAdapter,重写其方法,并获取各种UI来自定义这个页面的行为。
-->
<meta-data
android:name="AuthorizeAdapter"
android:value="cn.sharesdk.demo.MyAdapter" />
<!--
QZoneWebShareAdapter表示一个继承自cn.sharesdk.tencent.qzone.QZoneWebShareAdapter
的类,这个类可以监听到页面的生命周期,也可以获QQ空间网页分享权页面的各种UI控件。
开发者可以通过继承QZoneWebShareAdapter,重写其方法,并获取各种UI来自定义这个页面的行为。
-->
<meta-data
android:name="QZoneWebShareAdapter"
android:value="cn.sharesdk.demo.MyQZoneWebShareAdapter" />
<!--
Dropbox的SSO功能需要在此处添加一个对ACTION_VIEW事件的过滤器,其中的scheme是
“db-”前缀再开发者应用的加上appKey。如果此过滤器不设置,则不能完成SSO功能授权
-->
<intent-filter>
<data android:scheme="db-7janx53ilz11gbs" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
第四步:【qq不需要】如果是新浪平台则需添加一些图片和文字
第五步:activity中调用
oncreate中初始化:ShareSDK.initSDK(this);
qq点击事件:Platform plat_qq = ShareSDK.getPlatform(LoginActivity.this,
QZone.NAME);
plat_qq.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onError(Platform plat, int action, Throwable arg2) {
System.out.println("action" + action);
Message msg = new Message();
msg.what = 1;
msg.obj = plat;
handler.sendMessage(msg);
}
@Override
public void onComplete(Platform arg0, int action,
HashMap<String, Object> res) {
System.out.println("action" + action);
System.out.println(res);
// result(res);// 处理结果
Message msg = new Message();
msg.what = 0;
msg.obj = res;
handler.sendMessage(msg);
}
@Override
public void onCancel(Platform plat, int action) {
Message msg = new Message();
msg.what = 2;
msg.obj = plat;
handler.sendMessage(msg);
}
});
plat_qq.showUser(null);
新浪点击事件:
Platform plat_sina = ShareSDK.getPlatform(LoginActivity.this,
SinaWeibo.NAME);
plat_sina.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onError(Platform plat, int action, Throwable arg2) {
System.out.println("action" + action);
Message msg = new Message();
msg.arg1 = 2;
msg.arg2 = action;
msg.obj = plat;
handler.sendMessage(msg);
}
@Override
public void onComplete(Platform arg0, int arg1,
HashMap<String, Object> arg2) {
System.out.println(arg2);
result_sian(arg2);
}
@Override
public void onCancel(Platform plat, int action) {
Message msg = new Message();
msg.arg1 = 3;
msg.arg2 = action;
msg.obj = plat;
handler.sendMessage(msg);
}
});
plat_sina.showUser(null);
剩下的回调处理自己写吧。
这样就可以获取到用户信息了
相关文章推荐
- 使用Sharesdk实现第三方平台登录(qq,新浪微博)
- 【Android进阶】使用第三方平台ShareSDK实现新浪微博的一键分享功能
- 【Android进阶】使用第三方平台 ShareSDK 实现新浪微博的一键分享功能
- 【Android进阶】使用第三方平台 ShareSDK 实现新浪微博的一键分享功能
- 【Android进阶】使用第三方平台 ShareSDK 实现新浪微博的一键分享功能
- Android 使用第三方登录(QQ和新浪微博)
- Android之第三方平台实现QQ登录和QQ分享
- Android 使用Android studio实现第三方QQ登录
- 6.8.1 使用ShareSDK 实现第三方分享,登录 微博,
- 使用ShareSDK完成第三方(QQ、微信、微博)登录和分享
- 关于使用QQ、新浪微博、腾讯微博等第三方登录网站的开发过程(二)
- Android使用Android studio实现第三方QQ登录
- ShareSDK [iOS常见问题] 关于使用QQ做第三方登录的问题!
- 关于使用QQ、新浪微博、腾讯微博等第三方登录网站的开发过程(一)
- 开放平台-web实现QQ第三方登录
- shareSDK实现QQ第三方登录
- Android 实现QQ、微信、新浪微博和百度第三方登录
- cordova 实现第三方登录及分享,qq,微信,微博,插件的使用和改动
- 使用ShareSDK完成第三方(QQ、微信、微博)登录和分享
- iOS开发中 实现登录时关于使用QQ做为第三方授权登录的问题