如何在Android上快速集成微信和QQ的分享(Share)能力?

简介: 目前微信和QQ已经成为App分享的主要平台,大部分开发者都会首选集成这两个平台,除了可以选择直接继承官方的的SDK外,目前市面上有不少第三方的集成商,帮助开发者打包好了一键分享的SDK能力,如:极光,友盟,Mobtech等,这里主要以友盟集成为例,快速实现在Android上集成两个平台的分享能力。

目前微信和QQ已经成为App分享的主要平台,大部分开发者都会首选集成这两个平台,除了可以选择直接继承官方的的SDK外,目前市面上有不少第三方的集成商,帮助开发者打包好了一键分享的SDK能力,如:极光,友盟,Mobtech等,这里主要以友盟集成为例,快速实现在Android上集成两个平台的分享能力。


第一步:注册友盟+账号并获取一个Appkey

这一步基本是各个平台的必要流程,在友盟官网注册一个账号后,

  1. 选择新建Appkey ,填写必要的信息和平台,这里选择安卓

image.png


  1. 创建成果后,就可以拿到我们的Appkey信息,一般是一个常字符串

image.png


第二步:下载SDK

选择要集成的平台,我们当前选微信和QQ

image.png

下载完成后,解压会拿到这么几个文件:

image.png


将main文件夹以及platform(选择微信和QQ)文件下,对应的资源文件和jar放入你的工程

第三步:代码集成

1. 添加回调

微信需要添加回调的Activity,在包名目录下创建wxapi文件夹,新建一个名为WXEntryActivity的activity继承WXCallbackActivity。

image

QQ不需要添加Activity,但需要在使用QQ分享或者授权的Activity中,添加如下代码

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {  super.onActivityResult(requestCode, resultCode, data);  UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); }


2. 配置Android Manifest XML

微信:

 <activity  android:name=".wxapi.WXEntryActivity"  android:configChanges="keyboardHidden|orientation|screenSize"  android:exported="true"  android:theme="@android:style/Theme.Translucent.NoTitleBar" />

QQ:注意这里的scheme="tencent100424468",需要替换成你自己在腾讯开放平台申请的QQKey值

 <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="tencent100424468" />  </intent-filter>  </activity>  <activity  android:name="com.tencent.connect.common.AssistActivity"  android:theme="@android:style/Theme.Translucent.NoTitleBar"  android:configChanges="orientation|keyboardHidden|screenSize"/>

3. 在AndroidManifest中添加权限

<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" />

4. 初始化

初始化需要在您的Application中调用我们的初始化接口,这里的这个5a12384aa40fa3551f0001d1 需要替换成我们刚才自己申请的那个Appkey

@Override  public void onCreate() {  super.onCreate();  UMConfigure.init(this,"5a12384aa40fa3551f0001d1"  ,"umeng",UMConfigure.DEVICE_TYPE_PHONE,"");//58edcfeb310c93091c000be2 5965ee00734be40b580001a0   }

接着在application里配置微信开放平台申请的key和security

 PlatformConfig.setWeixin("wxdc1e388c3822c80b", "3baf1193c85774b3fd9d18447d76cab0");

到这里我们就已经完成了集成步骤,接下来就可以设置分享的样式和内容了。


5. 设置分享面板

可以用SDK自带的分享样式面板,也可以自己定义面板,如下是使用自带面板:

new ShareAction(MainActivity.this).withText("hello").setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN) .setCallback(umShareListener).open();

不带面板

new ShareAction(MainActivity.this) .setPlatform(SHARE_MEDIA.QQ)//传入平台 .withText("hello")//分享内容 .setCallback(umShareListener)//回调监听器 .share();

6. 设置分享消息类型

下面以分享链接为例:

UMWeb  web = new UMWeb(Defaultcontent.url);  web.setTitle("This is music title");//标题  web.setThumb(thumb);  //缩略图  web.setDescription("my description");//描述

然后调用将这个参数设置到ShareAction中:

new ShareAction(ShareActivity.this)  .withMedia(web)  .share();

到此我们的分享功能就集成完成了,其他平台或形式,大同小异。

```js ```
相关文章
|
2天前
|
Java 开发工具 Android开发
Android mk 集成app
Android mk 集成app
13 5
|
2天前
|
存储 监控 安全
打造高效移动办公环境:Android与iOS平台的集成策略
【5月更文挑战第15天】 在数字化时代,移动办公不再是一种奢望,而是日常工作的必需。随着智能手机和平板电脑的性能提升,Android与iOS设备已成为职场人士的重要工具。本文深入探讨了如何通过技术整合,提高两大移动平台在企业环境中的协同工作能力,重点分析了各自平台上的系统集成策略、安全性考虑以及跨平台协作工具的应用。通过对现有技术的剖析与案例研究,旨在为读者提供一套实用的移动办公解决方案。
|
2天前
|
安全 物联网 Android开发
构建未来:Android与IoT设备的无缝集成
【5月更文挑战第10天】 在数字化时代的浪潮中,智能设备与互联网的结合日益紧密。本文深入探讨了Android系统如何通过其开放性和灵活性成为连接物联网(IoT)设备的关键枢纽。我们将分析Android平台与IoT设备集成的技术途径,探索它们如何共同塑造智能家居、可穿戴技术以及工业自动化等领域的未来。文中不仅阐述了当前的发展状况,还展望了未来的发展趋势,特别是安全性和隐私保护方面的挑战及对策。
13 1
|
2天前
|
Android开发
Android 高通平台集成无源码apk示例
Android 高通平台集成无源码apk示例
17 0
|
2天前
|
Android开发
Android 集成vendor下的模块
Android 集成vendor下的模块
13 0
|
2天前
|
传感器 Java 开发工具
[NDK/JNI系列03] Android Studio集成NDK开发环境
[NDK/JNI系列03] Android Studio集成NDK开发环境
23 0
|
2天前
|
人工智能
MIT等首次深度研究集成LLM预测能力:可媲美人类群体准确率
【4月更文挑战第16天】研究人员集成12个大型语言模型(LLM)组成“硅基群体”,在预测比赛中与925名人类预测者对比。研究发现,LLM群体的预测准确性与人类群体无显著差异,且通过集成可抵消个体模型的偏差,提高预测准确。GPT-4和Claude 2等模型结合人类预测后,准确度提升17%至28%。然而,个别LLM预测精度不一,模型选择和校准度是提升预测性能的关键,同时LLM在时间跨度和现实场景适应性方面仍有挑战。
23 6
MIT等首次深度研究集成LLM预测能力:可媲美人类群体准确率
|
2天前
|
机器学习/深度学习 人工智能 TensorFlow
安卓中的人工智能:集成机器学习功能
【4月更文挑战第14天】在数字化时代,人工智能与机器学习正驱动安卓平台的技术革新。谷歌的ML Kit和TensorFlow Lite为开发者提供了便捷的集成工具,使得应用能实现图像识别、文本转换等功能,提升用户体验。尽管面临数据隐私和安全性的挑战,但随着技术进步,更强大的AI功能将预示着移动端的未来,为开发者创造更多创新机遇。
|
Android开发