接着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) {}});                

更多相关文章

  1. android:自定义监听(简单)
  2. 搜索框(SearchView)用法
  3. 安卓集成友盟调用微信登录时的问题
  4. 我的第一个Android程序,BMI计算器,分享一下源码
  5. "奇葩家园“之genymotion工具篇
  6. android 之通话录音
  7. Android(安卓)自定义View 实现手势监听,左右滑动,上下滑动
  8. webview获取Url高度
  9. 【Android】软键盘弹出button与edittext一起上移

随机推荐

  1. Android(安卓)Gradle使用详解(三) 之 And
  2. Google将在Android(安卓)2.2中提供Adobe
  3. 在读《精通Android(安卓)3》
  4. Android多媒体学习一:Android中Image的简
  5. Android入门教程(五)之------第一个Andro
  6. Binder研究之一   制定计划
  7. 系出名门Android(10) - HTTP 通信, XML
  8. Android应用启动后自动创建桌面快捷方式
  9. [置顶] Android(安卓)定时任务的多种实现
  10. Android应用启动后自动创建桌面快捷方式