Android 分享小结

2024-06-04 9456阅读

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。

专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。

目录

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

      Android 分享小结 第1张

      一、导读

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

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

      本文主要介绍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

      
      

      添加混淆

      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

      
      
       
          
                 
                 
                 
                 
          
       
      
             
             
             
             
             
      
      
      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 分享小结 第2张


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]