qq互连登陆
来源:互联网 发布:木马编程详解 编辑:程序博客网 时间:2024/05/18 01:06
manifest代码,首先声明两个权限, 然后将sdk中jar包自带的两个activity写进来,然后在data标签里面填上你申请的appid(注意格式)
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.thirdlogin"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name="com.tencent.tauth.AuthActivity" android:noHistory="true" android:launchMode="singleTask" > <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="tencent1105460914" /> </intent-filter> </activity> </application></manifest>
Mainactivity代码如下:将申请到的APPID传到初始化传建函数的一个参数tencent=Tencent.createInstance("1105460914",getApplicationContext());
然后调用Tencent的login方法 使用了自己重新new的一个loginListener,在里面设置了一些登录状态
import android.app.Activity;import android.os.Bundle;import android.text.TextUtils;import android.view.View;import android.widget.Button;import com.tencent.connect.common.Constants;import com.tencent.tauth.IUiListener;import com.tencent.tauth.Tencent;import com.tencent.tauth.UiError;import org.json.JSONObject;public class MainActivity extends Activity { private Tencent tencent; private Button loginbtn; private boolean isServerSideLogin; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); loginbtn=(Button)findViewById(R.id.loginBtn); loginbtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tencent=Tencent.createInstance("1105460914",getApplicationContext()); if(!tencent.isSessionValid()) { tencent.login(MainActivity.this,"all",loginListener); } else { if(isServerSideLogin){ tencent.logout(MainActivity.this); isServerSideLogin=false; return; } tencent.logout(MainActivity.this); } } }); } IUiListener loginListener=new BaseUilListener(){ @Override protected void doComplete(JSONObject values){ initOpenidAndToken(values); } }; private class BaseUilListener implements IUiListener{ @Override public void onComplete(Object response) { if(null==response){ return; }JSONObject jsonResponse=(JSONObject) response; if(null!=jsonResponse && jsonResponse.length()==0) { return ; }doComplete((JSONObject)response); } protected void doComplete(JSONObject values){ } @Override public void onError(UiError uiError) { } @Override public void onCancel() { }} public void initOpenidAndToken(JSONObject jsonObject){ try{ String token=jsonObject.getString(Constants.PARAM_ACCESS_TOKEN); String expires=jsonObject.getString(Constants.PARAM_EXPIRES_IN); String openId=jsonObject.getString(Constants.PARAM_OPEN_ID); if(!TextUtils.isEmpty(token)&&!TextUtils.isEmpty(expires) && !TextUtils.isEmpty((openId))){ tencent.setAccessToken(token,expires); tencent.setOpenId(openId); } }catch (Exception e){ } }}
0 0
- qq互连登陆
- QQ 登陆
- qq登陆
- qq登陆
- QQ登陆
- qq登陆
- QQ登陆,获取QQ用户信息
- 清除QQ登陆记录
- QQ登陆助手
- MSN,QQ网上登陆
- QQ登陆批处理
- 用批处理登陆QQ
- QQ防盗登陆器
- QQ登陆加密算法
- QQ批量自动登陆
- QQ登陆界面
- QQ登陆界面
- QQ登陆界面
- 论文系统Step1:从日志记录中提取特定信息
- Android Scroll分析
- 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。
- Python 文件处理方法详解
- 究竟是“二O一六年”还是“二零一六年”?嘴上会说可你会写吗?
- qq互连登陆
- Android布局文件中关于?和*的用法
- 从MVC---->MVVM
- 数字与字符串:倒序和相互转换
- js控制只允许输入数字
- 关于LeakCanary的用法
- 自定义控件:水平进度条,主要是用于展示一些任务进度
- Android缓存学习入门
- WebService学习总结