android如何实现qq登陆和qq分享,2021超详细mob平台图解教程?
android如何使用mob平台实现QQ登录以及分享功能
- 1.在mob平台配置ShareSDK环境
- 1.如何在mob平台创建应用
- 2.获取你的`App Key`和`App Secret`(建议用自己的)
- 3.点击SDK下载
- 4.选择ShareSDK
- 5.点击下载,就会弹出下载提示
- 6.关于为什么只选择这些配置?
- 7.我创建的QQ开发者平台应用
- 2.把ShareSDK部署到android
- 1.新建一个moudle或者project
- 2.配置你的build.gradle(Project)文件
- 3.配置你的build.gradle(Module)文件
- 1.首先加入如图代码
- 2.其次加入下图代码
- 3. 解释一下关于为什么成功不了
- 4.配置你的AndroidManifest.xml文件
- 5.配置activity.xml文件。
- 6.配置Activity.java文件
- 1.记得把MobSDK.init里面的`AppKey和AppSecret`改为你自己申请你的。
- 2.qq登录代码
- 3.qq分享代码
- 4.总体代码
个人感觉mob平台功能还是比较强大的,很多功能都可以通过他们平台来实现。如果想要测验源码的,可以评论出你的QQ邮箱,或者私聊发给你。
建议仔细观看每一个步骤,如果一个步骤没处理好,可能就会让你的这个功能无法实现。相信我一定可以成功的
。
废话少说,先看一下效果:
我们想了解mob平台更多实用的功能可以看一下我的其他博客:
android怎么实现手机号登录(2020最新版超详细Mob平台+SMSSDK)?
android教你怎么轻松实现手机推送功能,一步一步教你Mob+MobPush实现推送功能?
1.在mob平台配置ShareSDK环境
1.如何在mob平台创建应用
上面的博客我已经出过两期如何在mob平台创建应用,所以这里就不仔细说明了,如果不知道怎么在mob平台创建应用的,可以去看一下我们上面的那些博客
。mob平台地址
下面为我创建的应用,如图所示,我们选择接入的接口为ShareSDK
2.获取你的App Key
和App Secret
(建议用自己的)
获取你先创建应用的App Key和App Secret
,这里主要告诉你在哪里找App Key和App Secret,因为等下需要用到。
3.点击SDK下载
4.选择ShareSDK
选择配置我们主要选择下方配置,然后点击保存配置(下面我会说明为什么只选择这些配置)。
5.点击下载,就会弹出下载提示
6.关于为什么只选择这些配置?
可以从上图中看出,无论是QQ还微博,微信等都需要获取他们平台的appId和appKey
。如果你直接使用平台的提供的appId和appKey是不能成功的。如果我想要实现这些功能,我们得先去那些平台获取他的appId和appKey。因为获取过程太过于麻烦,我只获取了QQ平台的,下面是获取所有平台的链接地址。
获取所有平台appId的链接
7.我创建的QQ开发者平台应用
下面是我创建成功的应用,说实话QQ的这个服务确实挺慢的,一般审核需要几天,可以是免费的原因吧
。下面是创建应用的步骤。
1.成为个人开发者。
2.创建移动应用。
2.把ShareSDK部署到android
1.新建一个moudle或者project
这个就不细说,比较简单。
2.配置你的build.gradle(Project)文件
如图所示,添加如图代码:
代码如下:
classpath "com.mob.sdk:MobSDK:2018.0319.1724"
3.配置你的build.gradle(Module)文件
1.首先加入如图代码
根据你的情况选择:
代码如下,因为我的版本是android studio 4.2最新版,加入方法如下:
id 'com.mob.sdk'
如果是其他android studio 3点多的版本,添加方法代码:
apply plugin:'com.mob.sdk'
2.其次加入下图代码
加入代码如下(建议使用自己申请的appId和appKey,如果你使用的是我QQ申请的appId和appKey话,你是成功不了,关于为什么成功不了,我下面将会说明
):
MobSDK {fp true //严格模式}MobSDK {appKey "31c48ca47c70e"appSecret "2d7adbfcd73363bbbe41aeff60e41e4f"ShareSDK {loopShare truedevInfo {SinaWeibo {appKey "568898243"appSecret "38a4f8204cc784f81f9f0daaf31e02e3"callbackUri "http://www.sharesdk.cn"}QQ {appId "101906011"appKey "676d885e518445fed4d7d2341ff2d56f"}TencentWeibo {appKey "801307650"appSecret "ae36f4ee3946e1cbb98d6965b0b2ff5c"callbackUri "http://www.sharesdk.cn"}QZone {appId "100371282"appKey "aed9b0303e3ed1e27bae87c33761161d"}}}}
3. 解释一下关于为什么成功不了
下面我创建的应用
我们可以看一下在QQ平台创建的应用包名和应用签名如下:
然后我们在把他和我创建的android项目来对比一下:
1.我的包名和他相同
2.我们可以看一下我们的MD5是否相同
第一步:如果查看你的项目的MD5
找到图中的gradle
点击图中红色圆圈处
然后就可以查看MD5了
第二步:将我的MD5的去掉’:号’,把大写改为小写,我们对比一下是相同的。
补充条件小彩蛋:如果你新建其他项目android项目的时候需要用到QQ的appId和appKey的话,你可以直接点击下图中的修改,修改你为你新项目的包名和MD5。
即可直接进行修改
4.配置你的AndroidManifest.xml文件
加入如图回调和权限
。
代码如下:
权限:
<uses-permission android:name="android.permission.GET_TASKS" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/><uses-permission android:name="android.permission.GET_ACCOUNTS"/><!-- 蓝牙分享所需的权限 --><uses-permission android:name="android.permission.BLUETOOTH" /><uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
回调代码:
<activityandroid:name="com.mob.tools.MobUIShell"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:screenOrientation="portrait"android:windowSoftInputMode="stateHidden|adjustResize"tools:ignore="LockedOrientationActivity"><!-- QQ和QQ空间分享 QQ登录的回调必须要配置的 --><intent-filter><data android:scheme="tencent101906011" /><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.BROWSABLE" /><category android:name="android.intent.category.DEFAULT" /></intent-filter><!-- 新浪微博客户端分享回调必须配置 --><intent-filter><action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>
注意事项
:
记得把如图红色圆圈处的101906011改为你的QQ平台创建的应用申请的appId。
5.配置activity.xml文件。
比较简单,主要添加几个控件用来接收数据
代码如下
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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=".MainActivity"><TextViewandroid:id="@+id/text"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="24dp"android:text="名字"android:textSize="20sp"app:layout_constraintEnd_toEndOf="@+id/imageView"app:layout_constraintStart_toStartOf="@+id/imageView"app:layout_constraintTop_toBottomOf="@+id/imageView"></TextView><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="340dp"android:text="QQ登录"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.476"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><ImageViewandroid:id="@+id/imageView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="56dp"android:src="@mipmap/ic_launcher_round"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="24dp"android:text="性别"app:layout_constraintEnd_toEndOf="@+id/text"app:layout_constraintStart_toStartOf="@+id/text"app:layout_constraintTop_toBottomOf="@+id/text" /><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="50dp"android:text="QQ分享"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/button" />
</androidx.constraintlayout.widget.ConstraintLayout>
6.配置Activity.java文件
1.记得把MobSDK.init里面的AppKey和AppSecret
改为你自己申请你的。
2.qq登录代码
Platform qq = ShareSDK.getPlatform(QQ.NAME);
qq.SSOSetting(false); // 设置false表示使用SSO授权方式
qq.authorize();thirdLoginId = qq.getDb().getUserId();
name = qq.getDb().getUserName();
image = qq.getDb().getUserIcon();
sex = qq.getDb().getUserGender();
Toast.makeText(MainActivity.this,"name="+image,Toast.LENGTH_LONG).show();
TextView textView=findViewById(R.id.text);
textView.setText(name);
Log.e("Toast","image="+thirdLoginId);
ImageView imageView=findViewById(R.id.imageView);
Glide.with(MainActivity.this).load(image).into(imageView);
TextView textView1=findViewById(R.id.textView);
if(sex!=null){if(sex=="m"){sex= "男";}else {sex="女";}
}
textView1.setText(sex);
记得导入Glide依赖,因为获取的图片地址为网络图片地址
implementation 'com.github.bumptech.glide:glide:4.11.0'
3.qq分享代码
OnekeyShare oks = new OnekeyShare();
// title标题,微信、QQ和QQ空间等平台使用oks.setTitle("分享");
// titleUrl QQ和QQ空间跳转链接oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平台都需要这个字段oks.setText("我是分享文本");
// setImageUrl是网络图片的urloks.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");
// url在微信、Facebook等平台中使用oks.setUrl("http://sharesdk.cn");
// 启动分享GUIoks.show(MobSDK.getContext());
4.总体代码
package com.example.mobsharetest;import androidx.appcompat.app.AppCompatActivity;import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;import com.bumptech.glide.Glide;
import com.mob.MobSDK;import org.w3c.dom.Text;import java.util.HashMap;import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.onekeyshare.OnekeyShare;
import cn.sharesdk.sina.weibo.SinaWeibo;
import cn.sharesdk.tencent.qq.QQ;public class MainActivity extends AppCompatActivity {private Button button;private Button button2;String thirdLoginId;String name;String image;String sex;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);MobSDK.init(this, "31c48ca47c70e","2d7adbfcd73363bbbe41aeff60e41e4f");MobSDK.submitPolicyGrantResult(true, null);button=findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Platform qq = ShareSDK.getPlatform(QQ.NAME);qq.SSOSetting(false); // 设置false表示使用SSO授权方式qq.authorize();thirdLoginId = qq.getDb().getUserId();name = qq.getDb().getUserName();image = qq.getDb().getUserIcon();sex = qq.getDb().getUserGender();Toast.makeText(MainActivity.this,"name="+image,Toast.LENGTH_LONG).show();TextView textView=findViewById(R.id.text);textView.setText(name);Log.e("Toast","image="+thirdLoginId);ImageView imageView=findViewById(R.id.imageView);Glide.with(MainActivity.this).load(image).into(imageView);TextView textView1=findViewById(R.id.textView);if(sex!=null){if(sex=="m"){sex= "男";}else {sex="女";}}textView1.setText(sex);}});button2=findViewById(R.id.button2);button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {OnekeyShare oks = new OnekeyShare();
// title标题,微信、QQ和QQ空间等平台使用oks.setTitle("分享");
// titleUrl QQ和QQ空间跳转链接oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平台都需要这个字段oks.setText("我是分享文本");
// setImageUrl是网络图片的urloks.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");
// url在微信、Facebook等平台中使用oks.setUrl("http://sharesdk.cn");
// 启动分享GUIoks.show(MobSDK.getContext());}});}}
步骤有点复杂,因为这个功能确实比较难以实现,如果有什么问题的话,可以提出来,一不小心就写14000多个字了
。
因为这个也是我慢慢摸索过来,如果有更简单的方法,可以提出来
。
作者:android小白星
博客地址:https://blog.csdn.net/qq_45137584/article/details/113244389
android如何实现qq登陆和qq分享,2021超详细mob平台图解教程?相关推荐
- android怎么实现手机号登录(2020最新版超详细Mob平台+SMSSDK)?
mob平台发送验证码 第一步:注册mob平台账号 第二步:在mob平台配置SMSSDK环境. 1.点击下图红色圆圈处的产品中心. 2.点击立即进入. 3.点击创建应用. 4.同意隐私服务. 5.创建应 ...
- 服务器里微信怎么多开,电脑上如何多开微信?三个微信多开方法分享,超详细步骤!...
原标题:电脑上如何多开微信?三个微信多开方法分享,超详细步骤! 在我们日常工作和日常生活中,有时我们在电脑办公室时经常使用微信,但我们知道电脑上微信不能像QQ一样同时登陆多个账号.但是对很多营销人员来 ...
- 实现QQ登陆(QQ互联)
更多干货 分布式实战(干货) spring cloud 实战(干货) mybatis 实战(干货) spring boot 实战(干货) React 入门实战(干货) 构建中小型互联网企业架构(干货) ...
- Android中集成QQ登陆和QQ空间分享
本文基于QQ open sdk V2.4.1. QQ登录应用有一个地方是需要注意的, QQ申请同一品牌应用(包括网站和app),需要相互依赖申请,因为在QQ互联中,一个应用对应一个app key,如果 ...
- java 分享到qq空间_Android中集成QQ登陆和QQ好友分享及QQ空间分享
extends : http://blog.csdn.net/arjinmc/article/details/38439957 相关官方文档及下载地址: 如果只用分享和登陆,用lite包就可以,体积小 ...
- java 登录qq空间_Android中集成QQ登陆和QQ空间分享
本文基于QQ open sdk V2.4.1. QQ登录应用有一个地方是需要注意的, QQ申请同一品牌应用(包括网站和app),需要相互依赖申请,因为在QQ互联中,一个应用对应一个app key,如果 ...
- php网站 qq登陆,PHP QQ一键登入网站实现过程
qq一键登入功能对于大多数小中型网站来说是十分必要的,因为他给你的用户带来了极大的方便,但是想要集成网站的qq一键登入功能,你必须要一些编程基础,使网站和qq登入的应用之间进行一些必要的交互,下面我简 ...
- qq邮箱的发件服务器怎么设,如何利用QQ邮箱实现网站SMTP发信,详细邮箱的配置教程...
注意事项 QQ邮箱必须开通一个月以上,新邮箱是无法开启SMTP功能的. QQ邮箱配置教程 登陆QQ邮箱 我们可以通过QQ主面板的按钮进入,也可以通过QQ邮箱的网站(mail.qq.com)进行登陆: ...
- 如何把android studio中的项目发布到手机上(超详细版)
一,前言 在学习安卓开发的小伙伴们,相信有不少人有这样的冲动:总想把自己写的项目安装到自己手机上.那么到底该如何做呢?下面以小米MI 6x手机为例,来说明如何做. 二,前期准备 1,打开开发者模式 以 ...
最新文章
- 百度超级链XChain(6)XVM虚拟机
- 有效前沿—让你的投资收益最大化
- 前端学习(2840):nevagator导航标签
- Consumer配置
- iframe嵌入页面白屏_BFCache 与 浏览器前进后退白屏
- Python Tricks(十六)—— list转换为str
- cent OS 6.3 yum方式安装openldap,phppldapadmin,lam
- 使用 jdk 1.8 lambda forEach 对 ArrayList 遍历,数组越界,索引是负数 -15591
- 免费手机WAP网站大全
- UI面试官的哪些问题让你感觉很高明?
- 市面上主流RTC竞品对比分析
- 企业宣传软文怎么写?手把手教大家撰写企业宣传软文
- 2020面试题合集之吊打面试官系列(一),Android中为什么需要Handler
- 计算机网络汇聚层,【大白电气】接入层、汇聚层、核心层——中大型计算机网络系统结构介绍及交换机选型建议...
- 使用python实现用微信远程控制电脑
- 51单片机实验(LED and KEY)
- 交换机和路由器之间区别
- mxgraph进阶(三)Web绘图——mxGraph项目实战(精华篇)
- 大数据是什么?一篇文章正确告诉你
- JIRA的使用介绍(一)- 概念篇(笔记)