android第三方登录appid,AndroidQQ第三方登录
集成QQ登錄
在lib導入該open_sdk_r5886_lite.jar包
AndroidManifest.xml
android:name="com.tencent.tauth.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true"?>
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:screenOrientation="portrait">
/**登陸activity
*
*/
public class LoginAct extends Activity implements View.OnClickListener {//?QQ登錄private?Button?login_qq;private?static?final?String?TAG?=?"LoginAct";private?static?final?String?APP_ID?=?"1106536498";//官方獲取的APPIDprivate?Tencent?mTencent;private?BaseUiListener?mIUiListener;private?UserInfo?mUserInfo;@Overridepublic?void?onCreate(Bundle?savedInstanceState)?{????super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.act_login);//傳入參數APPID和全局Context上下文
mTencent?=?Tencent.createInstance(APP_ID,LoginAct.this.getApplicationContext());initView();
}private?void?initView()?{login_qq?=?(Button)?findViewById(R.id.login_qq);
login_qq.setOnClickListener(this);}@Overridepublic?void?onClick(View?view)?{????if(view==?login_qq){
Toast.makeText(LoginAct.this,?"第三方QQ登錄",?Toast.LENGTH_SHORT).show();
mIUiListener?=?new?BaseUiListener();
mTencent.login(LoginAct.this,"all",?mIUiListener);?//all表示獲取所有權限}
}/**
*??QQ登錄
*?自定義監(jiān)聽器實現IUiListener接口后,需要實現的3個方法
*?onComplete完成?onError錯誤?onCancel取消
*/private?class?BaseUiListener?implements?IUiListener?{@Override
public?void?onComplete(Object?response)?{
Toast.makeText(LoginAct.this,?"授權成功",?Toast.LENGTH_SHORT).show();
Log.e(TAG,?"response1111:"?+?response);
String?str?=?response.toString();
com.alibaba.fastjson.JSONObject?obj?=?com.alibaba.fastjson.JSONObject.parseObject(str);//阿里巴巴的快一點
try?{
String?openID?=?obj.getString("openid");
String?accessToken?=?obj.getString("access_token");
String?expires?=?obj.getString("expires_in");
mTencent.setOpenId(openID);
mTencent.setAccessToken(accessToken,expires);
QQToken?qqToken?=?mTencent.getQQToken();
mUserInfo?=?new?UserInfo(getApplicationContext(),qqToken);
mUserInfo.getUserInfo(new?IUiListener()?{????????????????@Override
public?void?onComplete(Object?response)?{
Log.e(TAG,"登錄成功"+response.toString());
//在這里處理保存用戶信息到數據庫或其他操作}@Override
public?void?onError(UiError?uiError)?{
Log.e(TAG,"登錄失敗"+uiError.toString());
}@Override
public?void?onCancel()?{
Log.e(TAG,"登錄取消");}
});
}?catch?(JSONException?e)?{
e.printStackTrace();
}
}@Override
public?void?onError(UiError?uiError)?{
Toast.makeText(LoginAct.this,?"授權失敗",?Toast.LENGTH_SHORT).show();}@Override
public?void?onCancel()?{
Toast.makeText(LoginAct.this,?"授權取消",?Toast.LENGTH_SHORT).show();
}
}/**
*?在調用Login的Activity或者Fragment中重寫onActivityResult方法
*?@param?requestCode
*?@param?resultCode
*?@param?data
*/@Overrideprotected?void?onActivityResult(int?requestCode,?int?resultCode,?Intent?data)?{????if(requestCode?==?Constants.REQUEST_LOGIN){
Tencent.onActivityResultData(requestCode,resultCode,data,mIUiListener);
}????super.onActivityResult(requestCode,?resultCode,?data);
}
}
總結
以上是生活随笔為你收集整理的android第三方登录appid,AndroidQQ第三方登录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 动态修改菜单,如何在An
- 下一篇: android 悬浮窗口和主界面同时显示