Android第三方登录详解2

接着Android第三方登录详解1讲

1.找到友盟  文档中心

2.找到

3.将

UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.login");
 
   

这句话放到对应activity 弄成全局即可

4QQ 登录

//参数1为当前Activity, 参数2为开发者在QQ互联申请的APP ID,参数3为开发者在QQ互联申请的APP kEY.
    UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(this, "100424468",
                    "c7394704798a158208a74ab60104f0ba");
    qqSsoHandler.addToSocialSDK();
 
   

5将上述代码放到activity里 oncreate(Bundle savedInstanceState){}里  导包

6找到AndroidManifest.xml

7将下面代码沾到里面  添加 个权限   <uses-permission android:name="android.permission.GET_TASKS"/>


<!-- ############ 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>

 
   

如图

8.在对应按钮监听里打


/**
* QQ登录
* */
private void QQDengLu() {
//监听
qq.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

mController.doOauthVerify(mContext, SHARE_MEDIA.QQ, new UMAuthListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
Toast.makeText(mContext, "授权开始", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SocializeException e, SHARE_MEDIA platform) {
Toast.makeText(mContext, "授权错误", Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle value, SHARE_MEDIA platform) {
Toast.makeText(mContext, "授权完成", Toast.LENGTH_SHORT).show();
//获取相关授权信息
mController.getPlatformInfo(HomePage.this, SHARE_MEDIA.QQ, new UMDataListener() {
@Override
public void onStart() {
Toast.makeText(HomePage.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");*/

// }

//改成QQ头像
String u = (String) info.get("profile_image_url");
//给imageview赋值
ImageLoader.getInstance().displayImage(u, tiouxiang);
//qq用户名screen_name
String name = (String) info.get("screen_name");
//textview赋值
text_name.setText(" "+name);

// Log.d("TestData",sb.toString());

}else{
Log.d("TestData","发生错误:"+status);
}
}
});
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(mContext, "授权取消", Toast.LENGTH_SHORT).show();
}
} );
}
});
}

 
   

9.完成

10.微博登录接着上面打个微博监听里面打


mController.doOauthVerify(activity, SHARE_MEDIA.SINA,new UMAuthListener() {
@Override
public void onError(SocializeException e, SHARE_MEDIA platform) {
}
@Override
public void onComplete(Bundle value, SHARE_MEDIA platform) {
if (value != null && !TextUtils.isEmpty(value.getString("uid"))) {
Toast.makeText(activity, "授权成功.",Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(activity, "授权失败",Toast.LENGTH_SHORT).show();
}
mController.getPlatformInfo(activity, SHARE_MEDIA.SINA, new UMDataListener() {
@Override
public void onStart() {
Toast.makeText(activity, "获取平台数据开始...", 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");
// }
//profile_image_url
//改成微博头像
String u = (String) info.get("profile_image_url");
ImageLoader.getInstance().displayImage(u, tiouxiang);
//微博用户名screen_name
String name = (String) info.get("screen_name");
text_name.setText(" "+name);
System.out.println(sb.toString()+"vvvvvvvvvvvvv");
Log.d("TestData",sb.toString());
}else{
Log.d("TestData","发生错误:"+status);
}
}
});
}
@Override
public void onCancel(SHARE_MEDIA platform) {}
@Override
public void onStart(SHARE_MEDIA platform) {}
});

 
   
时间: 2024-10-11 23:02:44

Android第三方登录详解2的相关文章

Android第三方登录详解1

android第三方登录是一种很流行的方式下面我来讲讲怎么做 1.打开百度搜   友盟 2.进入官网 注册 登录进入主页面 3.点击添加新应用 进入 4.提交  会生成一个K值 5.点击最上面的文档中心 进入 6.点击社会下分享  机器人 7.点击sdk下载 8.找到Android社会化组件sdk (看个人情况选择版本)点击下载 9.勾选要的第三方登录下载会下载一个压缩包 解压 10.点击最后一个jar包 11.现在对应android项目 填写对应K值点击快速集成  完了刷新android项目

Bmob第三方登录详解

Bmob第三方登录详解 Bmob 第三方登录 简介 本文主要介绍新浪微博,QQ,微信的登录接入以及如何配合BmobSDK中的第三方登录功能实现第三方登录。 在使用之前请先按照快速入门创建好可以调用BmobSDK的工程。 新浪微博登录 1.下载新浪SDK,并按照上面给的文档说明,在新浪的后台创建应用并配置好工程。 2.在AppDelegate中实现回调。 AppDelegate.h @interface AppDelegate : UIResponder <UIApplicationDelegat

【转】【Android应用开发详解】第01期:第三方授权认证(一)实现第三方授权登录、分享以及获取用户资料

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9057257 由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折,查阅了一番资料,做了一个Demo.实现起来的效果还是不错的,不敢独享,决定写一个总结的教程,供大家互相交流.学习和参考,博主只求能和大家共同进步.希望能多多支持! 这篇文章中,我们使用到了Share SDK,它是为iOS.Android.WP8的APP提供社会化功能的一

Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送,写这个系列真的很要命,你要去把他们的API文档大致的翻阅一遍,而且各种功能都实现一遍,解决各种bug各种坑,不得不说,极光推送真坑,大家使用还是要慎重,我们看一下极光推送的官网 https://www.jpush.cn/common/ 推送比较使用,很多软件有需要,所以在这个点拿出来多讲讲,我们本节

Android平台调用WebService详解

上篇文章已经对Web Service及其相关知识进行了介绍(Android开发之WebService介绍 ),相信有的朋友已经忍耐不住想试试在Android应用中调用Web Service.本文将通过一个简单的示例讲解和演示Android平台的Web Service开发. Ksoap2-android简介       在Android平台调用Web Service需要依赖于第三方类库ksoap2,它是一个SOAP Web service客户端开发包,主要用于资源受限制的Java环境如Applet

分享Android NDK技术详解及应用(Android加壳图片处理性能优化)

1.课程研发环境案例源代码编译和运行环境以JDK1.7和android-sdk-23以及android-ndk-10e版本为基准, ,以下环境都适用于项目.开发工具:android studio 1.5正式版, QT 5.0,SourceInsight 3.5;其他工具:使用到了IDEA PRO工具以及www.androidxref.com网站查看分析源码.2.内容简介本课程主要讲解NDK技术的基本使用方法,如基本常用的JNI函数.Android系统中能使用的本地库的使用方法和注意事项以及GCC

Android WebView 开发详解

Android WebView 开发详解 1.概览: Android WebView 做为承载网页的载体控件,他在网页显示的过程中会产生一些事件,并回调给我们的应用程序,以便我们在网页加载过程中做应用程序想处理的事情.比如说客户端需要显示网页加载的进度.网页加载发生错误等等事件. WebView提供两个事件回调类给应用层,分别为WebViewClient,WebChromeClient开发者可以继承这两个类,接手相应事件处理.WebViewClient 主要提供网页加载各个阶段的通知,比如网页开

android屏幕适配详解

android屏幕适配详解 官方地址:http://developer.android.com/guide/practices/screens_support.html 一.关于布局适配建议 1.不要使用绝对布局 2.尽量使用match_parent 而不是fill_parent . 3.能够使用权重的地方尽量使用权重(android:layout_weight) 4.如果是纯色背景,尽量使用android的shape 自定义. 5.如果需要在特定分辨率下适配,可以在res目录上新建layout

Android 四大组件 详解

[置顶] Android四大组件详解 分类: Android四大组件2013-02-09 16:23 19411人阅读 评论(13) 收藏 举报 Android开发 注:本文主要来自网易的一个博主的文章,经过阅读,总结,故留下文章在此 Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity : 应用程序中,一个