Android 分享小结

Android 分享小结,第1张

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

Android 分享小结,在这里插入图片描述,第2张

一、导读

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

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

本文主要介绍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; @Override protected 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) { } } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent); api.handleIntent(intent, this); } @Override public void onReq(BaseReq req) { // 微信发送请求到第三方应用时,会回调到该方法 } @Override public void onResp(BaseResp baseResp) { } }

mani

<activity android: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; /** * 分享文本 */ @Override public 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> <activity android: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> <activity android: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学习专栏

Android 分享小结,ddd,第3张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/13518173.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024-01-06
下一篇 2024-01-09

发表评论

登录后才能评论

评论列表(0条)

保存