1,jar包
2,配置AndroidManifest.xml
android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation">
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >
android:name="com.tencent.connect.common.AssistActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="behind"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
3,LoginActivity调用
//222222换成自己的appid
Tencent tencent;
public void login(){
tencent = Tencent.createInstance("222222",this.getApplicationContext());
tencent.login(this, "get_simple_userinfo",iUiListener);//all也可以
}
public IUiListener iUiListener = new IUiListener() {
@Override
public void onComplete(Object o) {
JSONObject response = (JSONObject)o;
DebugUtil.d("=="+response.toString());
//当前获取得是登陆信息openid之类的
//下边是获取用户信息userinfo
try {
//获得的数据是JSON格式的,获得你想获得的内容
//如果你不知道你能获得什么,看一下下面的LOG
DebugUtil.d("-------------"+response.toString());
DebugUtil.d( "openid-----"+response.getString("openid"));
DebugUtil.d( "access_token------"+response.getString("access_token"));
tencent.setOpenId(response.getString("openid"));
tencent.setAccessToken(response.getString("access_token"),
response.getString("expires_in"));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
UserInfo userInfo = new UserInfo(getApplicationContext(),tencent.getQQToken());
userInfo.getUserInfo(new IUiListener() {
@Override
public void onComplete(Object o) {
JSONObject response = (JSONObject)o;
DebugUtil.d("22=="+response.toString());
}
@Override
public void onError(UiError uiError) {
}
@Override
public void onCancel() {
}
});
}
@Override
public void onError(UiError uiError) {
}
@Override
public void onCancel() {
}
};
//注销
//mTencent.logout(this);
4,回调
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Tencent.onActivityResultData(requestCode, resultCode, data,iUiListener);
if(requestCode == Constants.REQUEST_API) {
if(resultCode == Constants.REQUEST_LOGIN) {
Tencent.handleResultData(data,iUiListener);
}
}
super.onActivityResult(requestCode, resultCode, data);
}
5.关于登陆绑定的unionid。即web和app获取的openid不一致时,需要打通数据获取unionid绑定q'q用户