第三方登录qq微博
Posted zyy明天你好
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三方登录qq微博相关的知识,希望对你有一定的参考价值。
第三方登录: 用的友盟 得下载好sdk包;
首先登录友盟开发者服务平台,获得key值(得先创建一个应用,在管理里面可以看见key值,一个项目工程对应一个应用,也就是对应一个key值,如果说这个项目里,有qq、和微博两种登录方式,只要同一个应用,同一个key值就行了,因为这两个同属于同一个项目工程程序),(然后打开文档中心--》点击社会化分享--》点击小机器人。-------这是参照人家的文档一步步粘贴的);
然后打开下载好的SDK集成工具文件夹:(存放路径)D:\zhengyanyan\学习有关的\软件\umeng_android_social_sdk_4.2.3_custom,打开SDKIntegration.jar的jar包,选择自己要实现的工程的根目录,输入你刚才创建的那个应用的友盟key值,(去友盟上把key值拷下来);打开刚才这个jar包时上面的组件是可以选择的,选择自己需要的,然后点击快速集成,就好了,然后在exlipe里刷新一下自己要实现的工程项目,然后最外面的环境这就算好了;
比如说:
(1)要使用qq登录:需要在AndroidManifest.xml里面配置, 放在<activity activity/>下面;
<!-- ############ QQ空间和QQ SSO授权的Activity注册 ############ -->
<activity
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tencent你的QQ互联APPID" />
</intent-filter>
</activity>
<activity android:name="com.tencent.connect.common.AssistActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:screenOrientation="portrait">
</activity>
代码里面;
拷贝全局变量;(放在自己要实现这个功能的activity里面)
UMSocialService mController = UMServiceFactory
.getUMSocialService("com.umeng.login");
监听的上面;放下面的代码;
// 参数1为当前Activity, 参数2为开发者在QQ互联申请的APP ID,参数3为开发者在QQ互联申请的APP kEY.
UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(MainActivity.this,
"100424468", "c7394704798a158208a74ab60104f0ba");
qqSsoHandler.addToSocialSDK();
监听里面;
mController.doOauthVerify(MainActivity.this, SHARE_MEDIA.QQ,
new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this, "授权开始",
Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SocializeException e,
SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this, "授权错误",
Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle value,
SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this, "授权完成",
Toast.LENGTH_SHORT).show();
// 获取相关授权信息
mController.getPlatformInfo(MainActivity.this,
SHARE_MEDIA.QQ, new UMDataListener() {
@Override
public void onStart() {
Toast.makeText(
MainActivity.this,
"获取平台数据开始...",
Toast.LENGTH_SHORT)
.show();
}
@Override
public void onComplete(int status,
Map<String, Object> info) {
if (status == 200
&& info != null) {
StringBuilder sb = new StringBuilder();
Set<String> keys = info
.keySet();
for (String key : keys) {
sb.append(key
+ "="
+ info.get(key)
.toString()
+ "\r\n");
}
Log.d("TestData",
sb.toString());
System.out.println(sb
.toString()
+ "===========");
} else {
Log.d("TestData", "发生错误:"
+ status);
}
}
});
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this, "授权取消",
Toast.LENGTH_SHORT).show();
}
});
(2)微博登录:
首先和qq一样现在fext.xml 里配置;
然后在监听里拷贝下面的代码就行了;
mController.doOauthVerify(MainActivity.this, SHARE_MEDIA.SINA,
new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this, "授权开始",
Toast.LENGTH_SHORT).show();
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this, "授权取消",
Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SocializeException e,
SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this, "授权错误",
Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle value,
SHARE_MEDIA platform) {
Toast.makeText(MainActivity.this, "授权完成",
Toast.LENGTH_SHORT).show();
// 获取相关授权信息
mController.getPlatformInfo(MainActivity.this,
SHARE_MEDIA.SINA, new UMDataListener() {
@Override
public void onStart() {
Toast.makeText(
MainActivity.this,
"获取平台数据开始...",
Toast.LENGTH_SHORT)
.show();
}
@Override
public void onComplete(int status,
Map<String, Object> info) {
if (status == 200
&& info != null) {
StringBuilder sb = new StringBuilder();
Set<String> keys = info
.keySet();
for (String key : keys) {
sb.append(key
+ "="
+ info.get(key)
.toString()
+ "\r\n");
}
System.out.println(sb
.toString()
+ "22222222222222222");
} else {
Log.d("TestData", "发生错误:"
+ status);
Toast.makeText(
MainActivity.this,
"发生错误:" + status,
Toast.LENGTH_SHORT)
.show();
}
}
});
}
});
以上是关于第三方登录qq微博的主要内容,如果未能解决你的问题,请参考以下文章
项目完结记录-第三方登录(MicroSoft,qq,微信,微博,GitHub)