第三方QQ登录示例

//首先去友盟下载5.0及以上版本的SDK

AndroidManifest配置,其中增加一个activity

<activity  

android:name="com.umeng.socialize.editorpage.ShareActivity"

android:theme="@style/Theme.UMDefault"

android:excludeFromRecents="true"/

>

设置友盟appid

<meta-data
android:name="UMENG_APPKEY"
android:value="4eaee02c527015373b000003" >
</meta-data>

 
 
增加权限

<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.READ_LOGS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.SET_DEBUG_APP" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

 
 
添加qq的平台的配置

QQ、Qzone

<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="tencent100424468" />
</intent-filter>
</activity>
<activity          
    android:name="com.tencent.connect.common.AssistActivity"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" />
在自定义的Application类中初始化配置

PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3"); //微信 appid appsecretPlatformConfig.setSinaWeibo("3921700954","04b48b094faeb16683c32669824ebdad"); //新浪微博 appkey appsecretPlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba"); // QQ和Qzone appid appkey PlatformConfig.setAlipay("2015111700822536"); //支付宝 

appidPlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf"); //易信 appkey PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi", "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO"); //Twitter appid appkeyPlatformConfig.setPinterest("1439206"); //Pinterest appid 

PlatformConfig.setLaiwang("laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e"); //来往 appid appkey


在任何点击事件中可获得QQ的用户信息


public class MainActivity extends Activity {

//获得 UMShareAPI对象
private UMShareAPI mShareAPI;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


TextView tv = (TextView) findViewById(R.id.textView3);

//点击事件
tv.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {
mShareAPI = UMShareAPI.get(MainActivity.this);

//设置QQ平台
SHARE_MEDIA platform = SHARE_MEDIA.QQ;

· //授权
mShareAPI.doOauthVerify(MainActivity.this, platform,
new UMAuthListener() {
@Override
public void onComplete(SHARE_MEDIA platform,
int action, Map<String, String> data) {

//授权成功后获取用户信息
mShareAPI.getPlatformInfo(MainActivity.this, platform, new UMAuthListener() {

@Override
public void onError(SHARE_MEDIA arg0, int arg1, Throwable arg2) {
// TODO Auto-generated method stub

}

@Override
public void onComplete(SHARE_MEDIA arg0, int arg1, Map<String, String> arg2) {
// TODO Auto-generated method stub
Set<String> keys = arg2.keySet();
for (String key : keys) {
Log.d("zzzz", key + "=" + arg2.get(key).toString()
+ "\r\n");
}

//用户昵称
String name=arg2.get("screen_name").toString();

//用户头像
String url=arg2.get("profile_image_url").toString();

}

@Override
public void onCancel(SHARE_MEDIA arg0, int arg1) {
// TODO Auto-generated method stub

}
});


}


@Override
public void onError(SHARE_MEDIA platform,
int action, Throwable t) {
Toast.makeText(getApplicationContext(),
"Authorize fail", Toast.LENGTH_SHORT)
.show();
}


@Override
public void onCancel(SHARE_MEDIA platform,
int action) {
Toast.makeText(getApplicationContext(),
"Authorize cancel", Toast.LENGTH_SHORT)
.show();
}
});


}
});
}

//注意此方法为必须重写的
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
mShareAPI.onActivityResult(requestCode, resultCode, data);
mShareAPI.onActivityResult(requestCode, resultCode, data);
}
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值