Android_第三方登录

Android 实现QQ第三方登录 Android 实现QQ第三方登录 转载请加地址:http://blog.csdn.net/jing110fei/article/details/39159491 在项目中需要实现QQ第三方登录,经过一番努力算是写出来了,现在总结以下,以防以后遗忘,能帮到其他童鞋就更好了。 首先肯定是去下载SDK和DEMO http://wiki.open.qq.com/wiki/mobile/SDK下载 本文是我自己整合后的简单DEMO。 先看下效果图吧 原理:我们要使用QQ登录我们的应用,不是不用注册,是我们在后台为 阅读详情

现在的第三方登录很普遍如QQ,微博,微信,本篇文章实现了QQ第三方登录


一:想要实现QQ的跳转需要到 http://wiki.open.qq.com/wiki/mobile/SDK%E4%B8%8B%E8%BD%BD 下载SDKJar包,然后把刚才下载的SDK解压将jar文件夹中的jar包拷贝到项目libs中 


拷贝到libs文件中,还需要在Gradle中添加

compile files('libs/open_sdk_r5886_lite.jar')
compile fileTree(include: ['*.jar'], dir: 'libs')


二:清单文件,加权限,注册SDKActivity

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="activity.example.com.qqloain">
    <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:roundIcon="@mipmap/ic_launcher_round"
        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>
        <!-- 注册SDKActivity -->
        <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"/>
    </application>

</manifest>


三:布局写一个按钮,点击实现第三方登录

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" tools:context="activity.example.com.qqloain.MainActivity">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="第三方登录"
        android:background="#00d0ff"
        android:layout_marginTop="50dp"
        android:id="@+id/btn_Login" />

</RelativeLayout>

四:MainActivity中的核心代码

package activity.example.com.qqloain;

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 Button btn_Login;
    private Tencent mTencent;
    private BaseUiListener mIUiListener;
    private UserInfo mUserInfo;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //传入参数APPID和全局Context上下文
        mTencent = Tencent.createInstance(APP_ID,MainActivity.this.getApplicationContext());

        btn_Login = (Button)findViewById(R.id.btn_Login);
        btn_Login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                /**通过这句代码,SDK实现了QQ的登录,这个方法有三个参数,第一个参数是context上下文,第二个参数SCOPO 是一个String类型的字符串,表示一些权限
                 官方文档中的说明:应用需要获得哪些API的权限,由“,”分隔。例如:SCOPE = “get_user_info,add_t”;所有权限用“all”
                 第三个参数,是一个事件监听器,IUiListener接口的实例,这里用的是该接口的实现类 */
                mIUiListener = new BaseUiListener();
                //all表示获取所有权限
                mTencent.login(MainActivity.this, "all", mIUiListener);
            }
        });
    }

    /**
     * 自定义监听器实现IUiListener接口后,需要实现的3个方法
     * onComplete完成 onError错误 onCancel取消
     */
    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();

        }

    }

    @Override
    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);
    }
}


安卓Android第三方登录-QQ登录 要实现QQ第三方登录,其实只需要一个封装类:QQLoginManager 几乎 三行代码 就实现QQ登录功能 这里先给出Github开源项目地址,项目下有详细的使用说明 下面就开始详细说一说怎么实现基于这个强大开源项目的安卓第三方QQ登录吧! 准备工作:获取 AppID 打开 http://open.qq.com/ 点击应用接入 第一次需要按照说明 注册类型 ,如果是小白练... 阅读详情

相关推荐

Android使用Binder实现第三方登录

Android使用Binder实现第三方登录 随着各种社交软件的出现,我们在app中往往需要接入第三方登录功能,例如:微信、qq、抖音、淘宝等等。当然也可以直接使用第三方聚合登录的SDK,接入非常简单。 那么第三方登录功能到底是如何实现的呢,这其中必然涉及到了跨进程通信。本篇文章将通过Binder的简单使用来实现跨进程的第三方登录功能,模仿QQ第三方登录,同时包含客户端(我们自己的应用)和服务端(...

qq_28649655的博客 631

腾讯开放平台实现QQ登录

现在的第三方登录很普遍如QQ,微博,微信,今天我们就来实现如何接入QQ登录到我们的项目中 要想使用QQ登录我们需要到腾讯开放平台注册账号获取开发者资格地址:http://open.qq.com/ 注册完成后点击我们右上角的管理中心进入管理中心后点击下面的创建应用然后选择Android平台就会获取APPID和APPKEY创建完成后我们需要到 http://wiki.open.qq.com/wiki/...

Android_Want 6297

微信第三方登录Android实现

记录一下微信第三方实现登录的方法。还是比较简单。 一、必要的准备工作 1.首先需要注册并被审核通过的微信开放平台帐号,然后创建一个移动应用,也需要被审核; 2.然后到资源中心下载开发微信所需的工具; 下载的网址:点击打开链接,有一个是SDK,一个是签名生成工具还有一个范例代码。 3.将SDK文件夹lib下的jar文件libammsdk.jar导入到项目工程中; 4.你的测试手机需要装好

just_young的专栏 7821

android qq第三方登录,Android调用第三方QQ登录代码分享

本文为大家分享了调用QQ登录的相关代码,希望对大家有帮助,减少项目开发的时间,具体内容如下1、去QQ开放平台注册帐号(http://open.qq.com/),为应用申请QQ的APP_ID , 并下载相关的jar包,放到工程的lib目录下。2、在Manifest.xml里注册QQ相关的Activity,代码如下android:name="com.tencent.connect.common.Ass...

weixin_35755434的博客 982

安卓平台QQ第三方登录开发实战

在使用QQ开放平台API之前,开发者需要注册成为QQ开放平台的一员,并通过腾讯的审核获得相应的权限。以下是申请API接口权限的基本流程:访问QQ开放平台官网并登录。创建应用并填写必要的应用信息。在应用管理界面选择需要申请的API接口,并提交相应的权限申请。等待腾讯审核团队审批,通常需要几个工作日。审核通过后,获取应用的AppID和AppKey作为API接口访问的身份凭证。QQ开放平台提供的API还包括用户关系链、动态发布、内容分享等多种辅助接口。

weixin_42284380的博客 712

android 第三方登录(友盟SDK)

使用友盟SDK实现新浪微博第三方登录, 想要实现的快快来下。

第三方登录及分享

1.先导依赖 2.权限 &lt;uses-permission android:name="android.permission.INTERNET" /&gt; &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt; &lt;uses-permission android:...

weixin_44308983的博客 308

苍穹外卖项目面试总结话术

美食速递这个项目最初是我参与制作的大创项目,是一款为中南学生提供校园外卖送至宿舍服务的软件,包含系统管理后台和小程序端两部分。其中系统管理后台主要提供给食堂内部员工使用,可以对食堂各个窗口、员工、订单、菜品等进行维护管理;小程序端可以在线浏览菜品、添加购物车、下单等,由学生兼职做跑腿送餐上门服务。这是个前后端分离的项目,我主要是负责后端的用户登录、员工管理,菜品管理,订单管理模块的编码实现。

qq_45195447的博客 1万+

android用户登陆程序,android腾讯开放平台登陆授权,获取用户信息

今天研究了一下腾讯的开放平台,要实现授权登录,事先要把mta-sdk-1.6.2.jar和svn2924_open_sdk.jar复制粘贴到项目的libs目录下,并把svn2924_open_sdk.jar这个文件 add to builder path。然后设置一下manifest.xml,在application节点下,加入com.tencent.tauth.AuthActivity和com....

weixin_42511512的博客 908

PHP实战:5分钟搞定SM4国密加密算法集成(附完整代码)

本文详细介绍了如何在PHP项目中快速集成SM4国密加密算法,提供完整的代码实现和实际应用示例。从算法原理到核心代码解析,再到性能优化与安全实践,帮助开发者高效实现数据加密功能,满足金融、政务等领域的合规需求。

weixin_29315569的博客 354

相机光学(三十八)——VCM(Voice Coil Motor)音圈马达

VCM(Voice Coil Motor)音圈马达全称Voice Coil Montor,电子学里面的音圈电机,是马达的一种。因为原理和扬声器类似,所以叫音圈电机,具有高频响、高精度的特点。其主要原理是在一个永久磁场内,通过改变马达内线圈的直流电流大小,来控制弹簧片的拉伸位置,从而带动上下运动。手机摄像头广泛的使用VCM实现自动对焦功能,通过VCM可以调节镜头的位置,呈现清晰的图像。弹片式结构滚珠式结构摩擦式结构Open loop开马达Close loop闭环马达。

图像学习之旅 7216

从qq for android登录,GitHub - BarefootBKK/QQLoginForAndroid: 安卓第三方登录

安卓第三方QQ登录-项目说明本项目集成封装了QQ第三方登录,大大减少了开发者编写【调用QQ登录】功能的代码量引入本项目Step 1. 添加依赖build.gradle (project)allprojects {repositories {// ...maven { url 'https://jitpack.io' }}}build.gradle (app)implementation 'com....

weixin_39673742的博客 163

数据获取竟如此简单——全球SRTM 90m DEM V4.1数据

SRTM(Shuttle Radar Topography Mission)是由NASA联合国际合作伙伴开展的雷达地形测绘项目,通过航天飞机搭载的合成孔径雷达系统,于2000年通过发射并接收地表反射的雷达信号,获取全球三维地形数据,这一任务填补了高精度全球地形数据的空白。而本文通过十余行的python代码,就更简单、方便地获取这些数据。

m0_38065162的博客 1398

android开发,怎么第三方登录,Android开发中如何实现第三方登录QQ

相信很多都现在都不止一个QQ和一个微信,但是我们的手机一部手机只能登陆一个账号,今天爱站技术频道小编就为大家讲解Android开发中如何实现第三方登录QQ,感兴趣的小伙伴们可以参考下文的介绍。第三方登录之QQ代码区public class MainActivity extends AppCompatActivity {private Button btn;private TextView tv;p...

weixin_42520656的博客 230

从零配置到稳定运行:A4988步进电机驱动模块的实战避坑指南

本文详细介绍了A4988步进电机驱动模块的配置与优化技巧,涵盖硬件连接、电流调节、微步设置及散热优化等关键环节。通过实战经验分享,帮助用户避开常见陷阱,实现步进电机的稳定运行,特别适合单片机开发者和3D打印机爱好者参考。

weixin_28452161的博客 165

PCIe 物理层(Physical Layer)详解

PCIe物理层关键技术解析 PCIe物理层作为协议栈底层核心,承担着比特流传输、链路训练与电气特性管理等关键功能。该层采用分层架构,包含逻辑物理层(负责编解码/加扰)和电气物理层(处理信号收发)。关键技术亮点包括: 智能链路管理:通过LTSSM状态机实现11种状态转换,涵盖链路检测(Detect)、协商(Polling/Configuration)、功耗管理(L0s/L1)等全生命周期控制 高效编码方案:Gen1/Gen2采用8b/10b编码(20%开销),Gen3+升级为128b/130b(仅1.5%开销

珂珂可爱多 725

Android 第三方登录

下面代码就是展示了第三方的登陆,我是使用了腾讯开放平台。 首先去腾讯开放平台(或者友盟都可以)注册成为开发者,然后创建应用获取APPID,并下载jar包。如图: 添加进去后记得导依赖。然后注册清单里面添加权限和在application中添加APPID等。 <application android:allowBackup="true" android:ico

Gorky_19的博客 517

生成自定义工具栏

我们生成了和VBA时代几乎一样的常用的工具栏。用WPF也可以完成以后的插件开发,界面控件编写基本靠自己绘画,还有用代码去控制,代码结构像HTML,做过网站的应该可以很快入手。其它后台C#代码除了对控件代码的控制外,和WinForm基本相同,但目前来看用WPF是生成自定义工具栏的较好的办法。当然,你也可以在工具栏命令中调用WinForm程序,对Coreldraw进行操作,这也应该是比较高效的办法,下次会讨论。资源的加入是本次调试的难点之一,我们的目标是让图片资源嵌入到程序中去,不必去电脑文件目录去调用;

力先生C#程序开发 1374

Android 原生第三方登录

android第三方登录 (微信,微博,QQ)一 分别去新浪开放平台,微信开放平台,腾讯开放平台注册账号,填写开发者信息,创建你的应用,在你的应用信息里填写项目包名,下载签名工具生成AppKey和AppID,这些准备工作完成以后就开始我们的项目之旅。1.新浪微博在做新浪微博登陆的时候需要你在平台上填写几个测试账号,在项目清单文件中配置信息 把你的AppKey,REDIRECT_URL(回执ur

Jack_hkh的博客 2282

Android开发工程师面试问题与参考答案

这是一份Android开发工程师职位面试指南,主要针对自研OS开发岗位。岗位要求3年以上独立开发经验,熟悉Android平台UI设计、四大组件和Java基础。面试问题覆盖五大核心领域:基础知识、开发经验、技术深度、问题解决和性能优化。文章提供了典型面试问题及专业参考答案,帮助应聘者准备关键技术点,如多线程处理、HashMap与ConcurrentHashMap区别、Handler机制等。同时建议应聘者结合项目经验展示优化能力,并注意公司提供完善的薪酬福利和团队文化。

郑伟强dev的专栏 892

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

android第三方登录之微信登录详情

微信的第三方登录详解 根据公司需要,特将APP微信第三方登录予以详解,以共享我这几天的研究成果。 第一步:准备工作 微信登录不同于其他第三方登录,相对来说比较麻烦一点,网上的列子也相对少一点,在微信开放平台注册完应用通过审核之后,得到AppId和AppSecret。就可以进行微信分享等功能,但是要想实现微信登录就必须进行认证。这个认证需要300元。 注册应用的时候签名要用微信官方提供的AP

缘无痕—末世蓝风的博客 2658

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

android 第三方登入,Android第三方登录之QQ登录

本文实例为大家分享了Android第三方登录之QQ的具体代码,供大家参考,具体内容如下第三方登录之QQ代码区public class MainActivity extends AppCompatActivity {private Button btn;private TextView tv;private ImageView image;@Overrideprotected void onCrea...

weixin_34737066的博客 418

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Android学习总结之实战第三方登录

关于Android第三方登录的实战知识总结

2301_80329517的博客 1522
上一篇: Android_OkHttp介绍与使用
下一篇: Android_OkHttp封装
绅V科技
博客等级 码龄9年 61粉丝 81原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值