QQ第三方登录
来源:互联网 发布:天下霸唱抄袭证据知乎 编辑:程序博客网 时间:2024/05/22 05:11
//下载安卓SDK
http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD
//权限
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />//清单文件中写的
<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="tencent1105602574" /> <!-- 开放平台获取的APPID --> </intent-filter></activity><activity android:name="com.tencent.connect.common.AssistActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:screenOrientation="portrait"/>
//布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/btn" android:text="点击QQ登录" android:layout_width="match_parent" android:layout_height="wrap_content" /></LinearLayout>
//MainActivity
package com.example.qqlogin;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.Toast;import com.tencent.connect.UserInfo;import com.tencent.connect.auth.QQToken;import com.tencent.connect.common.Constants;import com.tencent.tauth.IUiListener;import com.tencent.tauth.Tencent;import com.tencent.tauth.UiError;import org.json.JSONException;import org.json.JSONObject;public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private static final String APP_ID = "1105602574";//官方获取的APPID private Tencent mTencent; private BaseUiListener mIUiListener; private UserInfo mUserInfo; private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn =(Button)findViewById(R.id.btn); mTencent = Tencent.createInstance(APP_ID,MainActivity.this.getApplicationContext()); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mIUiListener = new BaseUiListener(); //all表示获取所有权限 mTencent.login(MainActivity.this,"all", mIUiListener); } }); } private class BaseUiListener implements IUiListener { @Override public void onComplete(Object response) { Toast.makeText(MainActivity.this, "授权成功", Toast.LENGTH_SHORT).show(); Log.e(TAG, "response:" + response); JSONObject obj = (JSONObject) response; 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(MainActivity.this, "授权失败", Toast.LENGTH_SHORT).show(); } @Override public void onCancel() { Toast.makeText(MainActivity.this, "授权取消", Toast.LENGTH_SHORT).show(); } } protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode == Constants.REQUEST_LOGIN){ Tencent.onActivityResultData(requestCode,resultCode,data,mIUiListener); } super.onActivityResult(requestCode, resultCode, data); }}
阅读全文
0 0
- QQ第三方登录
- QQ第三方登录
- QQ第三方登录
- QQ第三方登录
- QQ第三方登录
- 第三方qq登录
- QQ第三方登录
- QQ第三方登录
- QQ第三方登录
- 第三方登录QQ
- QQ第三方登录
- qq第三方登录
- qq第三方登录
- 第三方QQ登录
- QQ第三方登录
- qq第三方登录
- QQ第三方登录
- QQ第三方登录
- BitmapUtil
- 驱动编程(一),NT
- postgresql----继承表INHERITS PARENT TABLE
- 小程序页面布局之Flexbox布局
- 8. 类型声明,方法,接口
- QQ第三方登录
- 用分层结构打造微 MVC 框架
- 关于Qt的QAxWidget
- PL/SQL 快捷键设计以及添加快捷键 .
- vue icon 图标库
- **Linux环境下部署WEB项目出现的BUG集锦**
- 【云星数据---大数据部集群署系列011】:alluxio java API 实战--01基本API
- 一篇关于Vim详细介绍的文章
- 前端div分页