文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Android 分享小结

2023-12-22 19:21

关注

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

在这里插入图片描述

一、导读

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

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

本文主要介绍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(), "");    }        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

来源地址:https://blog.csdn.net/fumeidonga/article/details/134903855

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯