//首先去友盟下载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);
}
}