Android 分享小结
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

一、导读
我们继续总结学习,温故知新。
鉴于前阵子有人问到分享相关的功能,说不知道在哪里注册,本文做一个收集整理。
本文主要介绍QQ、微信、新浪微博、支付宝、钉钉等几个国内主流三方分享平台,以及一些聚合分享平台。
二、微信 分享
微信开发平台
Android接入指南
- 注册 > 获取应用APPID
- 接入sdk
在build.gradle中添加
dependencies {api 'com.tencent.mm.opensdk:wechat-sdk-android:+'
}
项目的根 build.gradle 文件中,添加如下代码
buildscript {repositories {jcenter() // 原有 jCenter 引用可继续保留mavenCentral()}
}allprojects {repositories {jcenter() // 原有 jCenter 引用可继续保留mavenCentral()}
}
配置AndroidManifest
- 接收微信的请求及返回值
在你的包名相应目录下新建一个 wxapi 目录,并在该 wxapi 目录下新增一个 WXEntryActivity 类,该类继承自 Activity
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {private IWXAPI api;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);api = WXAPIFactory.createWXAPI(this, CorePackageConfig.APPINFO.WEIXIN_APPID, false);try {Intent intent = getIntent();api.handleIntent(intent, this);} catch (Exception e) {}}@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);setIntent(intent);api.handleIntent(intent, this);}@Overridepublic void onReq(BaseReq req) {// 微信发送请求到第三方应用时,会回调到该方法}@Overridepublic void onResp(BaseResp baseResp) {}}
mani
<activityandroid:name=".wxapi.WXEntryActivity"android:label="@string/app_name"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:exported="true"android:taskAffinity="填写你的包名"android:launchMode="singleTask">
</activity>
添加混淆
- 调试
private final IWXAPI iwxapi;/*** 分享文本*/@Overridepublic void shareText(Activity activity, Entity Entity, ShareListener listener) {String shareText = Entity.getDesc();if (TextUtil.isEmpty(shareText)) {return;}WXTextObject textObj = new WXTextObject();textObj.text = shareText;WXMediaMessage msg = new WXMediaMessage();msg.mediaObject = textObj;msg.description = shareText;SendMessageToWX.Req req = new SendMessageToWX.Req();req.transaction = buildTransaction("text");req.message = msg;req.scene = getSendScene(Entity.getShare_type());iwxapi.sendReq(req);addOnStarListener(listener);}
三、 QQ 、QQ空间(Qzone) 分享
QQ互联官网
文档资料
- 注册 > 获取应用APPID
- 下载sdk
- 接入sdk
将下载好的 open_sdk_xxx_lite.jar 拷贝到 lib目录下
在build.gradle中添加
dependencies {implementation fileTree(dir: 'libs', include: '*.jar')
}
配置AndroidManifest
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><application><activityandroid: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="tencent你的AppId" /></intent-filter></activity>
<activityandroid:name="com.tencent.connect.common.AssistActivity"android:configChanges="orientation|keyboardHidden"android:screenOrientation="behind" android:theme="@android:style/Theme.Translucent.NoTitleBar" /><application>
- 调试
public class QQShareMediaAction {private final Tencent mTencent;public QQShareMediaAction(Activity activity) {mTencent = Tencent.createInstance(qqAppId(), activity.getApplicationContext(), "");}/*** 分享文本* QQ不支持分享纯文本*/public void shareText(Activity activity, ShareEntity ShareEntity, ShareManager.CustomShareListener listener) {shareWeb(activity, ShareEntity, listener);}/*** 分享图片* 只支持本地图片*/public void shareImage(Activity activity, ShareEntity ShareEntity, ShareManager.CustomShareListener listener) {String shareImgUrl = ShareEntity.getImg_url();if (ShareTextUtil.isEmpty(shareImgUrl) || !limitSize(ShareEntity.getImg_url(), listener)) {return;}Bundle params = new Bundle();params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_IMAGE);params.putString(QQShare.SHARE_TO_QQ_IMAGE_LOCAL_URL, shareImgUrl);mTencent.shareToQQ(activity, params, listener);addOnStarListener(listener);}}
四、新浪微博
登录 新浪微博开放平台
移动客户端接入说明
Android SDK文档
授权回调页、取消授权回调页设置在应用信息—>高级信息,iOS应用具体位置参考下图注意这里的授权回调页需要和代码中的redirectURL参数保持一致bundle ID设置注意和工程保持一致
五、钉钉
登录 钉钉开放平台
钉钉分享介绍
六、支付宝
支付宝开放平台
使用支付宝账号登录,注册APP,点击应用 > 在功能信息中添加分享功能 > 最后申请上线审核,通过即可
七、企业微信
企业微信官方平台
要使用企业微信分享功能模块,需要先在企业微信官方平台注册企业账号,并建立iOS或者安卓端应用,启用 “企业微信授权登录” 接口
八、聚合分享平台
如umeng,极光等一些国内聚合的分享。
九、 推荐阅读
Java 专栏
SQL 专栏
数据结构与算法
Android学习专栏

相关文章:
Android 分享小结
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导读二、微信 分享 三、 QQ 、QQ空间(Qz…...
Ubunutu18.04 ROS melodic 无人机 XTDrone PX4 仿真平台配置
一、依赖安装 sudo apt install ninja-build exiftool ninja-build protobuf-compiler libeigen3-dev genromfs xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev python-pip python3-pip gawk pip2 install pandas jinja2 pyserial cerberus pyulog0.7.0 n…...
JVM 命令行监控及诊断工具
面试题 你使用过Java虚拟机性能监控和故障处理工具吗?(美图) 怎么打出线程栈信息。(字节跳动) JVM诊断调优工具用过哪些? (京东) 怎么获取 Java 程序使用的内存?堆使用…...
飞天使-linux操作的一些技巧与知识点2
TCP 的三次握手 第一次,客户端与服务端建立链接,需要发送请求连接的消息 第二次,服务端接口到数据后,返回一个确认的操作*(至此客户端和服务端链路建立成功) 第三次,服务端还需要发送要与客户端…...
Android : 篮球记分器app _简单应用
示例图: 1.导包 在build.gradle 中 加入 // 使用androidx版本库implementation androidx.lifecycle:lifecycle-extensions:2.1.0-alpha03 2. 开启dataBinding android{...// 步骤1.开启data bindingdataBinding {enabled true}...} 3.写个类继承 ViewModel pac…...
音视频之旅 - 基础知识
图像基础知识 像素 像素是图像的基本单元,一个个像素就组成了图像。你可以认为像素就是图像中的一个点。在下面这张图中,你可以看到一个个方块,这些方块就是像素 分辨率 图像(或视频)的分辨率是指图像的大小或尺寸。…...
分类预测 | SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类预测
分类预测 | SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类预测 目录 分类预测 | SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类…...
如何使用 Zotero 导出所选条目的 PDF 文件
如何使用 Zotero 导出所选条目的 PDF 文件 Zotero 是一款强大的参考文献管理工具,但它并不直接提供将整个文件夹导出为 PDF 的选项。不过,您可以使用以下步骤来导出您所选的 Zotero 条目中的 PDF 文件,无需额外的插件。 选择所需的 Zotero 条…...
minio的k8s的单机部署
minio的k8s的单机部署 apiVersion: apps/v1 kind: Deployment metadata:name: minionamespace: itshare spec:replicas: 1selector:matchLabels:app: miniotemplate:metadata:labels:app: miniospec:containers:- name: minioimage: minio/minio:RELEASE.2022-10-15T19-57-03Z…...
Git 更改remote repo 地址
Git 更改remote repo 地址 我们想更换远程 repo 地址, 因为我们仓库更换了名称. git remote rename origin 查看现在的 romote 地址 # 查看 remote 地址 git remote -v origin gitgitee.com:changyubiao/attrdict.git (fetch) origin gitgitee.com:changyubiao/attrdict.gi…...
24、文件上传漏洞——Apache文件解析漏洞
文章目录 一、环境简介一、Apache与php三种结合方法二、Apache解析文件的方法三、Apache解析php的方法四、漏洞原理五、修复方法 一、环境简介 Apache文件解析漏洞与用户配置有密切关系。严格来说,属于用户配置问题,这里使用ubantu的docker来复现漏洞&am…...
使用Go快速开发TCP公共服务
使用Go快速开发TCP公共服务 文章目录 使用Go快速开发TCP公共服务一、前言二、实现思路三、源码四、测试使用五、最后 一、前言 之前使用的公共TCP服务无法使用了,想了一下整个实现原理不是很复杂,就利用Go快速开发了一个,利用公网服务器可以…...
QEMU环境调试方法
目录 1.如何查看makefile构建过程执行的命令? 2.如何使用GCC生成C程序的宏展开文件? 3.如何在qemu中执行特定的可执行程序? 4.如何在qemu中直接运行可执行程序? 5.如何在qemu中调试某个可执行程序? 本文从调试的角…...
京东数据运营(京东API接口):10月投影仪店铺数据分析
鲸参谋监测的京东平台10月份投影仪市场销售数据已出炉! 10月份,环同比来看,投影仪市场销售均上涨。鲸参谋数据显示,今年10月,京东平台投影仪的销量为16万,环比增长约22%,同比增长约8%࿱…...
Aloha 机械臂的学习记录2——AWE:AWE + ACT
继续下一个阶段: Train policy python act/imitate_episodes.py \ --task_name [TASK] \ --ckpt_dir data/outputs/act_ckpt/[TASK]_waypoint \ --policy_class ACT --kl_weight 10 --chunk_size 50 --hidden_dim 512 --batch_size 8 --dim_feedforward 3200 \ --n…...
Spring Boot 项目的创建、配置文件、日志
文章目录 Spring Boot 优点创建 Spring Boot 项目创建项目认识目录网页创建(了解) 约定大于配置Spring Boot 配置文件配置文件格式读取配置项properties 配置文件yml 配置文件基本语法进阶语法配置对象配置集合yml 设置不同环境的配置文件 Spring Boot 日…...
MySQL:drop、delete与truncate区别
一、用法不同 1、drop(丢弃数据): drop table 表名 ,直接将表都删除掉,在删除表的时候使用。 2、truncate (清空数据) : truncate table 表名 ,只删除表中的数据,再插入数据的时候自增长 id 又从 1 开始,在清空表中数…...
2024年顶级的9个 Android 数据恢复工具(免费和付费)
不同的事情可能会损坏您的Android手机并导致您丢失数据。但大多数时候,您可以使用取证工具恢复部分或全部文件。 问题可能来自手机的物理损坏、磁盘的逻辑故障、完整的系统擦除,或者只是简单的粗心大意。 但是,无论数据丢失的原因是什么&am…...
c# Aspose.Cells 导出Excel表格 使用随记
/// <summary>/// 导出Excel表格/// </summary>/// <param name"list">数据集合</param>/// <param name"header">数据表头</param>/// <param name"sumColumn">求和列</param>/// <param n…...
SAP UI5 walkthrough step3 Controls
在上一步,我们是直接用index.html 中的body 里面的DIVision去输出 hello world, 在这个章节,我们将用SAP UI5 的标准控件 sap/m/Text 首先,我们去修改 webapp/index.html <!DOCTYPE html> <html> <head><…...
基于CNN的口腔鳞状细胞癌智能检测系统开发
1. 口腔鳞状细胞癌检测的技术挑战与解决方案口腔鳞状细胞癌(OCSCC)作为头颈部最常见的恶性肿瘤,其早期诊断面临三大技术瓶颈:首先是病灶的隐蔽性,早期病变常表现为微小白色斑块或溃疡,与普通口腔炎症难以区…...
知识图谱与语义网技术栈:从RDF/SPARQL到图神经网络与LLM融合实战
1. 项目概述:从数据孤岛到智能互联的桥梁在数据爆炸的时代,我们每天都被海量的信息包围。然而,这些信息往往像一座座孤岛,彼此隔绝,难以形成有效的知识网络。你是否曾想过,如果能让机器像人一样,…...
行列式点过程:从统计独立到负依赖的机器学习范式跃迁
1. 项目概述:从统计独立到负依赖的范式跃迁在机器学习和统计学的工具箱里,统计独立性长期以来扮演着基石的角色。从朴素贝叶斯分类器的特征条件独立假设,到蒙特卡洛方法中独立同分布的采样点,再到随机梯度下降中独立的小批量数据&…...
科学边缘计算ML硬件可靠性设计:从比特精确验证到精细化容错
1. 项目概述:当科学实验遇上极端数据洪流想象一下,你面前有一台每秒产生数TB数据的超级显微镜,或者一个每时每刻都在进行数十亿次粒子对撞的探测器。这些并非科幻场景,而是高能物理、材料科学等前沿科学领域的日常。海啸般的数据从…...
量子态编码:从指数级瓶颈到线性复杂度的高效实现
1. 量子态编码:从理论瓶颈到工程实践在量子计算领域,尤其是量子机器学习和量子优化算法中,我们常常面临一个看似基础却至关重要的挑战:如何将经典数据高效地“加载”到量子态中?这个过程被称为量子态编码或数据加载。对…...
【AI Agent旅游行业落地实战指南】:2024年已验证的7大高ROI应用场景与避坑清单
更多请点击: https://kaifayun.com 第一章:AI Agent旅游行业应用全景图 AI Agent正以前所未有的深度与广度重塑旅游产业的服务范式。它不再局限于单点智能响应,而是以目标驱动、多工具协同、自主规划与持续反思为特征,构建起覆盖…...
LeetCode 930:和相同的二元子数组 | 前缀和与哈希表
LeetCode 930:和相同的二元子数组 | 前缀和与哈希表 引言 和相同的二元子数组(Binary Subarrays With Sum)是 LeetCode 第 930 题,难度为 Medium。题目要求在二元数组(元素只有 0 和 1)中找出子数组和等于 …...
7z2john报错Compress::Raw::Lzma.pm缺失的原理与修复
1. 这不是你的错:当7z2john突然报错“Cant locate Compress::Raw::Lzma.pm”时,你其实只缺一个Perl模块刚打开终端准备提取7z压缩包里的密码哈希,7z2john archive.7z > hash.txt回车一敲,屏幕却猛地跳出一行红字:Ca…...
AI、机器学习、深度学习到底是什么关系?用‘模型’一词说清楚
1. 项目概述:为什么“人工智能”这个词让人越看越迷糊?你有没有过这种感觉?刷到一篇讲“AI赋能”的文章,开头说“大模型正在重塑生产力”,中间列了三个“基于Transformer架构的微调方案”,结尾呼吁“拥抱AG…...
从零打造 AI 小说创作平台(四):项目与章节管理
从零打造 AI 小说创作平台(四):项目与章节管理 系列:从零打造 AI 小说创作平台 NovelForge 篇章:第 4 篇 / 共 10 篇 关键词:CRUD、自动保存、软删除、章节排序、字数统计 前言 项目管理是连接用户认证和 AI 创作流水线的桥梁。这个模块看似简单(就是 CRUD),但有几个…...
