首先到sharesdk开放píng台下载demo ,以下要用到的文件来自于 simple里面
第一步:导入官方的jar包
第二步:添加ShareSDK.xml文件并修改相关píng台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功能需要在此chǔ添加一个对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不需要】如果是新浪píng台则需添加一些图片和文字
第五步: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);// chǔ理结果
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);
剩下的回调chǔ理自己写吧。
这样就可以获取到用户信息了
《转载》
使用Sharesdk实现第三方平台登录(qq,新浪微博)