Mob社会化分享集成ShareSDK

news2024/11/23 12:07:09

如何在项目已经集成 SMSSDK 的情况下集成 ShareSDk 到项目中,需要使用创建 module 的方式引入 ShareSDk,主要内容如下:

1.下载ShareSDK

2.引入 ShareSDK

3.创建 MainLibs Module

4.创建 OneKeyShare Module

5.在项目中引入 Module

6.配置权限

7.配置 Application

8.启用 ShareSDK

下载 ShareSDk

官网下载地址:ShareSDK,下载时选中要分享的平台,如下图所示:

下载的 ShareSDk 解压缩如下,这里下载的版本是 ShareSDK-Android-3.0.0 ,如下图所示:

引入 ShareSDK

首先,复制 ShareSDk 中的 ShareSDK.xml 文件到项目中的 assets 目录下, 这里使用引入 module 的方式引入 ShareSDk,ShareSDK 里面主要引入如下两个 Libs,如下图所示:

下面演示一下 Module的创建过程:

创建 MainLibs Module

1、在新建的项目中创建一个 Android Library,点击链接演示:

https://vdn6.vzuu.com/SD/fdff576e-1f53-11eb-852c-7e0dca767781.mp4?pkey=AAXODuFFKj0AGMK3ybcfdznXccoOg6I8MfqytIbgR034ueFaveIIJCJc6nJjhVVLGDQ5ZrX0GOF58wnQvSgm1PnZ&c=avc.0.0&f=mp4&pu=078babd7&bu=078babd7&expiration=1671082348&v=ks6

2.删除新创建的 Library 中 main 下面的所有文件,及 java、res两个文件夹和 AndroidManifest.xml 文件,如下图所示:

3.复制要引入的 MainLibs 中的 res 、 AndroidMainfest.xml 、libs(里面的jar) 到对应的文件夹,如下图所示:

导入 mainLibs 中结构如下:

此时,这个 module 就创建好了,这里使用 ShareSDK 提供的分享页面,故还需引入 OneKeyShare。

创建 OneKeyShare Module

创建 Module 的过程和上述一样,注意的是多了一个 src ,里面是要使用的 java 文件,所以必须也得引用,如下图所示:

将 src 文件夹复制到 main下面即可,build 之后如果不出错,说明 Module 创建成功了,下面根据依赖关系一如对应的 Module 即可。

在项目中引入 Module

这里面 OnKeyShareLibs 依赖 MainLibs ,只需 app 依赖 OnkeyShareLibs 即可,这里演示 OnKeyShareLibs 如何依赖 MainLibs,点击链接演示:

https://vdn6.vzuu.com/SD/186ba730-234e-11eb-8e0c-b212701f41e1.mp4?pkey=AAWWHddObq6YnVTuk9rGw_YSVbGYsFjVzY79n8afM6nRtdLgG2LThqviKeAfZD0Zl3Z3-g08aAK5fDW2lbgjnPGl&c=avc.0.0&f=mp4&pu=078babd7&bu=078babd7&expiration=1671082350&v=ks6

然后,同样的方式 app 依赖 OnKeyShareLibs 即可。

配置权限

这里之前配置过 SMSSDK ,只需补充缺少的权限即可,下面是同时集成了 SMSSDK 和 ShareSDK 所需的全部权限,如下:

   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

配置 Application

如果之前配置过 SMSSDK ,那么 MobUIShell 是配置过的,只需添加缺少的 IntentFilter ,集成 SMSSDK 和 ShareSDK 可共用 MobUIShell ,如下:

<activity
    android:name="com.mob.tools.MobUIShell"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:windowSoftInputMode="stateHidden|adjustResize">
    <intent-filter>
        <data android:scheme="tencent100371282" />
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

</activity>

如果您的项目集微信或者微信朋友圈,请查看AndroidManifest.xml配置文件里的package路径,需要在package目录下创建wxapi目录再放置WXEntryActivity。 没有此activity在微信分享后回调会检查是否有此activity,没有将会报错:

<activity     
    android:name=".yxapi.YXEntryActivity"     
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:configChanges="keyboardHidden|orientation|screenSize" 
    android:exported="true"     
    android:screenOrientation="portrait" />

具体请参考:Android ShareSDK完整的集成文档

启用 SDK

通过 AndroidManifest.xml

在 Application 节点下添加以下属性:

android:name="com.mob.MobApplication"

在 Application 标签下添加 meta 参数:

<!-- 通过AndroidManifest配置AppKey和AppSecret,如果你选择通过代码配置,则不需要配置以下meta-data -->
<meta-data android:name="Mob-AppKey" android:value="你的AppKey"/>
<meta-data android:name="Mob-AppSecret" android:value="你的AppSecret"/>

代码配置

// 通过代码注册你的AppKey和AppSecret
MobSDK.init(context, "你的AppKey", "你的AppSecret");

上述两种方式,只使用其中一种即可初始化 ShareSDK 了。

调用分享界面

private void showShare() {
     OnekeyShare oks = new OnekeyShare();
     //关闭sso授权
     oks.disableSSOWhenAuthorize(); 
     // title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
     oks.setTitle(getString(R.string.share));
     // titleUrl是标题的网络链接,仅在人人网和QQ空间使用
     oks.setTitleUrl("http://sharesdk.cn");
     // text是分享文本,所有平台都需要这个字段
     oks.setText("我是分享文本");
     // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
     oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
     // url仅在微信(包括好友和朋友圈)中使用
     oks.setUrl("http://sharesdk.cn");
     // comment是我对这条分享的评论,仅在人人网和QQ空间使用
     oks.setComment("我是测试评论文本");
     // site是分享此内容的网站名称,仅在QQ空间使用
     oks.setSite(getString(R.string.app_name));
     // siteUrl是分享此内容的网站地址,仅在QQ空间使用
     oks.setSiteUrl("http://sharesdk.cn");


    // 启动分享GUI
     oks.show(this);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/101618.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity Addressables资源管理 主设置面板

Addressables资源管理总目录 0.主设置菜单位置 位置1 位置2 1.Profiles 路径配置选项 这个是全局路径配置的选择 可以点击 Manager Profiles 打开路径配置面板 打包路径设置 2.Diagnostics 诊断设置 Send Profiler Events 打开这个选项&#xff0c;才能在Event Viewer窗口…

记录java枚举类在数据库、前后端交互时的序列化方式

实体类枚举属性持久化到数据库 1.EnumValue 2.配置 mybatis-plus:configuration:default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler 或 mybatis-plus:typeEnumsPackage: xxx 实体类中枚举属性自动转为EnumValue标记的属性值 从数据…

C++数学与算法系列之排列和组合

1. 前言 本文将聊聊排列和组合&#xff0c;排列组合是组合学最基本的概念&#xff0c;在程序运用中也至关重要。 排列问题&#xff1a;指从给定个数的元素中取出指定个数的元素进行排序。 组合问题&#xff1a;指从给定个数的元素中仅仅取出指定个数的元素&#xff0c;不排序…

Docker镜像

镜像是一种轻量级、可执行的独立软件包&#xff0c;它包含运行某个软件所需的所有内容&#xff0c;我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等)&#xff0c;这个打包好的运行环境就是image镜像文件。 只有通过这…

【设计模式】工厂方法模式Factory(Java)

文章目录1. 定义2. 类图3. Java实现案例3.1 抽象类&#xff1a;Pizza和PizzaStore3.2 具体披萨&#xff1a;北京两种上海两种共四种3.3 具体披萨店&#xff1a;北京店和上海店3.4 测试主方法1. 定义 工厂方法模式定义了一个创建对象的接口&#xff0c;但由子类决定要实例化的类…

基于JAVA的XX公司固定资产管理系统的设计与实现

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 本课题研究对象是中小企业财务管理系统&#xff0c;设计采用自己开发实践和所学知 识&#xff0c;系统部分主要分为以下…

汽车主机厂Adams/Car悬架动力学开发最全攻略

​​​​​​​一、写在前面 实际经历告诉我们&#xff0c;当我们接触一个新事物或学习一项新的技能时&#xff0c;入门往往是最为困难的&#xff0c;迷茫、彷徨、无助…… 正是基于同样的经历&#xff0c;在掌握Adams/Car软件的应用后&#xff0c;作者即开始构思如何将自己的…

论文投稿指南——中文核心期刊推荐(电工技术)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

linux后台自定义后台服务service(已filebeat举例)

文章目录一、配置攥写1&#xff09;安装filebeat和配置相关修改2&#xff09;常用命令二、启动顺序1&#xff09;命令循序2&#xff09;systemctl添加自定义系统服务&#xff08;服务填写指南&#xff09;3&#xff09;linux的systemctl命令详解及使用教程三、遇到的坑点和报错…

One-Hot 独热编码

1. 什么是独热编码 独热编码&#xff0c;又称一位有效编码。采用N位状态寄存器来对N个状态进行编码&#xff0c;直观来说就是有多少个状态就有多少比特&#xff0c;除了有效的比特为1外&#xff0c;其他都为0. 2. 独热编码过程 &#xff08;1&#xff09;将分类值映射到整数…

Simulcast与SVN

什么是Simulcast: 一个客户端向服务器发送高清&#xff0c;标清&#xff0c;低清三种视频流&#xff0c;服务器根据其他接收客户端的带宽情况分发不同的视频流。Simulcast不仅有客户端的工作&#xff0c;还有服务器的工作。 开启Simulcast的三种方式: Munging SDP方式 添加assr…

网络实验①——同Vlan下相互通信

实验要求&#xff1a; pc0与pc1互通pc2与pc3互通实验步骤&#xff1a; A交换机配置&#xff1a; enable config t hostname switch-A vlan 10 vlan 20 exit interface f0/1 switch access vlan 10 no shutdown interface f0/2 switch access vlan 20 no shutdown interface f0/…

无线耳机哪个品牌好一点?真无线蓝牙耳机推荐品牌

蓝牙耳机随着近几年的快速发展&#xff0c;已经成为了人们外出时必不可少的数码产品之一。而现如今&#xff0c;市面上的蓝牙耳机品牌众多&#xff0c;挑选起来让人眼花缭乱&#xff0c;人们在选择时不免陷入纠结。那么&#xff0c;无线耳机哪个品牌好一点&#xff1f;下面&…

day23【代码随想录】翻转二叉树、对称二叉树、相同的树、另一棵树的子树、完全二叉树的结点个数

文章目录前言一、翻转二叉树&#xff08;力扣226&#xff09;1、递归法1、使用前序遍历2、使用后序遍历2、迭代法1、层序遍历二、对称二叉树&#xff08;力扣101&#xff09;三、相同的树&#xff08;力扣100&#xff09;四、另一棵树的子树&#xff08;力扣572&#xff09;五、…

[附源码]Nodejs计算机毕业设计教师信息采集系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

docker容器中DPDK对网卡SR-IOV支持实验

主要是验证下容器运行DPDK&#xff0c;如何对SR-IOV进行支持 1 VF创建方法 在未开启SR-IOV时&#xff0c;通过DPDK提供的./dpdk-devbind.py脚本可知&#xff0c;当前系统一共有一块82599网卡&#xff0c;拥有2个网口&#xff0c;PCI的地址是18:00.0和18:00.1,如下图所示 启用…

华为配置动态路由ISIS协议

华为配置动态路由ISIS协议一、路由基础知识二、路由器配置接口IP地址&#xff08;一&#xff09;配置R1、R2、R3网络&#xff08;二&#xff09;配置R1、R2、R3环回网络接口&#xff08;三&#xff09;测试直连网络三、启动进程号&#xff0c;配置实体名称&#xff08;一&#…

JVM之堆

堆的基本内容&#xff1a; Java堆&#xff08;Java Heap&#xff09;是虚拟机所管理的内存中最大的一块&#xff0c;Java堆是被所有线程共享的一块内存区域&#xff0c;在虚拟机启动时创建&#xff0c;此内存区域的唯一目的就是存放对象实例&#xff0c;Java 世界里“几乎”所…

【每日挠头算法题】Leetcode 989. 数组形式的整数加法 —— 高精度加法解法

&#x1f451;作者主页&#xff1a;进击的安度因 &#x1f3e0;学习社区&#xff1a;进击的安度因&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;每日挠头算法题 文章目录一、题目描述二、思路及代码实现今天为大家带来的是力扣上的一道简单题&#xff1…

Spring的秒表StopWatch优雅的程序计时器 -第455篇

历史文章&#xff08;文章累计450&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 走进MyBatis源码一探Spring扩展点「知识…