当前位置: 首页 > news >正文

Android 分享小结

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

目录

  • 一、导读
  • 二、微信 分享
  • 三、 QQ 、QQ空间(Qzone) 分享
  • 四、新浪微博
  • 五、钉钉
  • 六、支付宝
  • 七、企业微信
  • 八、聚合分享平台
  • 九、 推荐阅读

在这里插入图片描述

一、导读

我们继续总结学习,温故知新。

鉴于前阵子有人问到分享相关的功能,说不知道在哪里注册,本文做一个收集整理。

本文主要介绍QQ、微信、新浪微博、支付宝、钉钉等几个国内主流三方分享平台,以及一些聚合分享平台。

二、微信 分享

微信开发平台
Android接入指南

  1. 注册 > 获取应用APPID
  2. 接入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


  1. 接收微信的请求及返回值

在你的包名相应目录下新建一个 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>

添加混淆

  1. 调试
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互联官网
文档资料

  1. 注册 > 获取应用APPID
  2. 下载sdk
  3. 接入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>
  1. 调试
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学习专栏

ddd

http://www.lryc.cn/news/256697.html

相关文章:

  • Ubunutu18.04 ROS melodic 无人机 XTDrone PX4 仿真平台配置
  • JVM 命令行监控及诊断工具
  • 飞天使-linux操作的一些技巧与知识点2
  • Android : 篮球记分器app _简单应用
  • 音视频之旅 - 基础知识
  • 分类预测 | SSA-HKELM-Adaboost麻雀算法优化混合核极限学习机的数据分类预测
  • 如何使用 Zotero 导出所选条目的 PDF 文件
  • minio的k8s的单机部署
  • Git 更改remote repo 地址
  • 24、文件上传漏洞——Apache文件解析漏洞
  • 使用Go快速开发TCP公共服务
  • QEMU环境调试方法
  • 京东数据运营(京东API接口):10月投影仪店铺数据分析
  • Aloha 机械臂的学习记录2——AWE:AWE + ACT
  • Spring Boot 项目的创建、配置文件、日志
  • MySQL:drop、delete与truncate区别
  • 2024年顶级的9个 Android 数据恢复工具(免费和付费)
  • c# Aspose.Cells 导出Excel表格 使用随记
  • SAP UI5 walkthrough step3 Controls
  • 【分布式微服务专题】从单体到分布式(一、SpringCloud项目初步升级)
  • python安装与工具PyCharm
  • Baumer工业相机堡盟工业相机如何通过BGAPISDK将相机图像高速保存到电脑内存(C#)
  • iOS 防截屏方法(一)
  • 【SpringBoot篇】5种类型参数传递json数据传参的操作
  • Mac系统升级node.js版本和npm版本
  • 风力发电对讲 IP语音对讲终端IP安防一键呼叫对讲 医院对讲终端SV-6005网络音频终端
  • 智能优化算法应用:基于蜉蝣算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • pymysql报错: unable to rollback、Already closed
  • [Linux] Web基础知识与http协议
  • 2020年第九届数学建模国际赛小美赛B题血氧饱和度的变异性解题全过程文档及程序