三方登录
2015-11-28 10:19
393 查看
armeabi
httpmime-4.1.3.jar
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.bwei.test" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- ###################声明SDK使用的相关权限###################### --> <!-- 检测网络状态 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取mac地址作为用户的备用唯一标识 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取用户手机的IMEI,用来唯一的标识用户 --> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 缓存资源优先存入SDcard --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 允许应用程序联网,以便向我们的服务器端发送数据 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- QQ、QQ空间所需权限 --> <uses-permission android:name="android.permission.GET_TASKS" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <meta-data android:name="com.amap.api.v2.apikey" android:value="aee205e5eb2579fd658e399bf627dc21" /> <activity android:name="com.umeng.socialize.view.ShareActivity" android:configChanges="orientation|keyboard" android:launchMode="singleTask" android:noHistory="true" android:theme="@style/Theme.UMDialog" android:windowSoftInputMode="stateAlwaysVisible|adjustResize" > </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" /> <!-- 100424468,如果你使用的公用账号,则不需要修改;否则修改成你在QQ开放平台申请的 APP ID --> <data android:scheme="tencent100424468" /> </intent-filter> </activity> <activity android:name="com.tencent.connect.common.AssistActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" > </activity> <meta-data android:name="UMENG_APPKEY" android:value="56491fe367e58e4ff7009f4f" > </meta-data> <activity android:name="com.bwei.test.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.bwei.test.PersonActivity" > </activity> </application> </manifest>
SocialSDK_QQZone_1.jar
SocialSDK_QQZone_2.jar
SocialSDK_QQZone_3.jar
SocialSDK_Sina.jar
umeng_social_sdk.jar
1 package com.bwei.test; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast; import com.bwei.test.R.menu; import com.nostra13.universalimageloader.core.ImageLoader; import com.umeng.socialize.bean.SHARE_MEDIA; import com.umeng.socialize.controller.UMServiceFactory; import com.umeng.socialize.controller.UMSocialService; import com.umeng.socialize.controller.listener.SocializeListeners.UMAuthListener; import com.umeng.socialize.controller.listener.SocializeListeners.UMDataListener; import com.umeng.socialize.exception.SocializeException; import com.umeng.socialize.sso.UMQQSsoHandler; public class MainActivity extends Activity implements OnClickListener{ private Button btn_sina,btn_qq,btn_phone; private ImageView top_image,top_settings; UMSocialService mController = UMServiceFactory.getUMSocialService("com.umeng.login"); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); top_image = (ImageView) findViewById(R.id.top_image); top_settings = (ImageView) findViewById(R.id.top_settings); top_image.setOnClickListener(this);//给登录头象加监听 top_settings.setOnClickListener(this); btn_phone = (Button) findViewById(R.id.btn_phone); btn_qq = (Button) findViewById(R.id.btn_qq); btn_sina = (Button) findViewById(R.id.btn_sina); UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(this, "100424468", "c7394704798a158208a74ab60104f0ba"); qqSsoHandler.addToSocialSDK(); } public void onClick1(View v) { // TODO Auto-generated method stub switch (v.getId()) { // case R.id.top_image: // menu.showMenu(); // break; // case R.id.top_settings: // break; default: break; } } public void log_qq(View v) { login(SHARE_MEDIA.QQ);// QQ跳转到登录页面 } public void log_sina(View v) { login(SHARE_MEDIA.SINA);// sina跳转到登录页面 } /** * 附近的人 * @param v */ public void person(View v){ Intent intent=new Intent(MainActivity.this,PersonActivity.class); startActivity(intent); } /** * 跳转到登录页面 * 756494841@qq.com * jing1017/* * @param qq */ private void login(SHARE_MEDIA qq) { // TODO Auto-generated method stub mController.doOauthVerify(MainActivity.this, 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(); btn_qq.setVisibility(View.VISIBLE); btn_sina.setVisibility(View.VISIBLE); } @Override public void onComplete(Bundle value, SHARE_MEDIA platform) { // 获取uid String uid = value.getString("uid"); if (!TextUtils.isEmpty(uid)) { // uid不为空,获取用户信息 getUserInfo(platform);// 得到授权 } else { Toast.makeText(MainActivity.this, "授权失败...", Toast.LENGTH_LONG).show(); //设置登录图片可见 top_image.setVisibility(View.VISIBLE); btn_sina.setVisibility(View.VISIBLE); } } @Override public void onCancel(SHARE_MEDIA platform) { Toast.makeText(MainActivity.this, "授权取消", Toast.LENGTH_SHORT) .show(); } }); } /** * 得到授权 * * @param platform */ protected void getUserInfo(SHARE_MEDIA platform) { // TODO Auto-generated method stub mController.getPlatformInfo(MainActivity.this, platform, new UMDataListener() { @Override public void onStart() { } @Override public void onComplete(int status, Map<String, Object> info) { // tv_name.setVisibility(View.VISIBLE); // image.setVisibility(View.VISIBLE); //设置登录图片可见 btn_qq.setVisibility(View.INVISIBLE); btn_sina.setVisibility(View.INVISIBLE); // 迭代MAP得到用户信息 if (info != null) { System.out.println(info.toString()); Set<Entry<String, Object>> set = info.entrySet(); if (set != null) { Iterator<Entry<String, Object>> iterator = set .iterator(); while (iterator.hasNext()) { Map.Entry entry = iterator.next(); Object key = entry.getKey(); Object value = entry.getValue(); System.out.println(key.toString()); // if (key.equals("screen_name")) { // tv_name.setText(entry.getValue() // .toString()); // } else if (key.equals("profile_image_url")) { // ImageLoader.getInstance().displayImage( // entry.getValue().toString(), // image); // ImageLoader.getInstance().displayImage( // entry.getValue().toString(), // top_image); // } } } } } }); } @Override public void onClick(View v) { // TODO Auto-generated method stub } }
相关文章推荐
- php在apache中运行模式
- 基于Nodejs+express4+Mongodb+Angularjs建立web项目
- J2EE Specification level指的是什么和J2EE规范讲解
- HTML5后台管理模板
- 完全卸载oracle步骤
- ios 常见问题总结
- Linux驱动开发笔记总结(一)
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 【Android】【设计】Android 架构设计
- 白盒测试之基本路径测试法
- mysql中count(1)与count(*)比较
- Ceph代码分析---线程池
- WEB开发技术详解HTML协议
- NgNice项目案例