Android使用友盟分享微信小程序到微信

在友盟官网上看到了相关的API,但是总是无法正常调用,下面记录下自己的处理流程:

引入依赖

implementation 'com.umeng.umsdk:common:2.2.5'

implementation 'com.umeng.umsdk:share-core:7.0.2'

implementation 'com.umeng.umsdk:share-board:7.0.2'

//为支持微信分享的模块

implementation 'com.umeng.umsdk:share-wx:7.0.2'

添加所需权限,创建微信所需的Activity

请在AndroidManifest中添加如下权限

并在AndroidManifest中添加如下代码(需要提前创建好Activity):

android:configchanges="keyboardHidden|orientation|screenSize"

android:exported="true" android:launchmode="singleTask"

android:name=".wxapi.WXEntryActivity"

android:taskaffinity="net.sourceforge.simcpux"

android:theme="@android:style/Theme.Translucent.NoTitleBar">

在你的项目包中创建wxapi包,并创建WXEntryActivity.class

public class WXEntryActivity extends WXCallbackActivity implements IWXAPIEventHandler {

private IWXAPI wxapi= BaseApplication.getInstance().getWxApi();

@Override

protected void onNewIntent(Intent intent) {

super.onNewIntent(intent);

setIntent(intent);

wxapi.handleIntent(intent, this);

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

wxapi.handleIntent(getIntent(), this);

}

@Override

public void onReq(BaseReq baseReq) {

LogUtils.d(baseReq:+baseReq.openId);

}

@Override

public void onResp(BaseResp baseResp) {

if (baseResp.getType()==ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX){

finish();

}else if(baseResp.getType()==ConstantsAPI.COMMAND_SENDAUTH){

LogUtils.d(返回授权+baseResp.errCode);

switch (baseResp.errCode) {

case BaseResp.ErrCode.ERR_OK:

LogUtils.d(返回Code:+((SendAuth.Resp) baseResp).code);

EventBus.getDefault().post(new EventMessage(CodeManager.BIND_PHONE,((SendAuth.Resp) baseResp).code));

break;

case BaseResp.ErrCode.ERR_USER_CANCEL:

case BaseResp.ErrCode.ERR_AUTH_DENIED:

case BaseResp.ErrCode.ERR_UNSUPPORT:

break;

}

finish();

}

}

}

由于我在项目中集成了其他微信相关的SDK,读者只用关注这个 WXEntryActivity需要继承 WXCallbackActivity 以及实现 IWXAPIEventHandler 这两个类。

在自定义的 BaseApplication 的 onCreate 方法中需要注册友盟

...

@Override

public void onCreate() {

super.onCreate();

initUmeng();

}

private void initUmeng() {

// 在此处调用基础组件包提供的初始化函数 相应信息可在应用管理 -> 应用信息 中找到 http://message.umeng.com/list/apps

// 参数一:当前上下文context;

// 参数二:应用申请的Appkey;

// 参数三:渠道名称;

// 参数四:设备类型,必须参数,传参数为UMConfigure.DEVICE_TYPE_PHONE则表示手机;传参数为UMConfigure.DEVICE_TYPE_BOX则表示盒子;默认为手机;

// 参数五:Push推送业务的secret 填充Umeng Message Secret对应信息(需替换)

UMConfigure.init(this, 应用在友盟申请的Appkey, Umeng, UMConfigure.DEVICE_TYPE_PHONE, 没有使用推送服务,传空字符串就行);

//开通微信分享 第一个值为app在微信注册时的AppID 第二个值是你们软件注册时的AppSecret

PlatformConfig.setWeixin(wx*************, *******AppSecret****);

}

注意!这里一定要添加开通微信分享的代码,否则点击分享按钮将没有任何反应!!! PlatformConfig.setWeixin("wx*************", "*******AppSecret****");

分享小程序到微信

我将分享逻辑放在弹窗点击事件里

private void showShareDialog(DistributionMyGoodsBean.ListBean listBean) {

//分享

ShareDialog shareDialog = new ShareDialog(mContext, false);

shareDialog.setOnButtonListener(new ShareDialog.OnButtonListener() {

@Override

public void onWeChatClick() {

ToastUtils.showShort(微信分享);

//兼容低版本的网页链接

UMMin umMin = new UMMin(你想要兼容的网页链接,需要带上http://);

// 小程序消息封面图片

umMin.setThumb(new UMImage(mContext, listBean.getImage()));

// 小程序消息title

umMin.setTitle(listBean.getTitle());

//小程序页面路径

umMin.setPath(/pages/小程序对应的页面链接);

//小程序原始id,在微信平台查询

umMin.setUserName(gh_***********);

//设置小程序版本

//预览版

Config.setMiniPreView();

//测试版

Config.setMiniTest();

new ShareAction((Activity) mContext)

.setPlatform(SHARE_MEDIA.WEIXIN)

.withMedia(umMin)

.setCallback(shareListener)

.share();

}

@Override

public void onCircleFriendsClick() {

//小程序目前无法分享小程序到朋友圈

}

});

shareDialog.show();

}

注意:在分享小程序之前是必须要设置小程序的版本的,不然点开微信链接会报错

android 分享小程序到微信,Android 使用友盟分享微信小程序到微信相关推荐

  1. android友盟分享图标是英文,GitHub - GDMiao/UmengEnclosed: 友盟分享二次封装,现有文字分享、图片分享、网页分享等多种分享功能。...

    对友盟分享(Umeng-Share)的功能封装 引言 本文档针对友盟分享(6.9.0)进行了功能封装,完成的对于 文字.图片.网页 分享功能封装,如有其它封装要求请根据本文档的封装思路和友盟分享 ap ...

  2. Android 友盟分享躺过的几个坑,大坑,坑爹啊

    前言:公司上线了一个项目,做Android 客户端集成友盟分享,在做得过程中,遇到了下面3个问题,希望其他小伙伴注意. ( 友盟在线客服 QQ : 800083942  ) 错误1: 1.错误描述 我 ...

  3. 友盟分享小程序_iOS分享微信小程序

    最近项目中遇到了APP分享微信小程序,记录下来问题,希望能帮助到需要的人 项目中的分享集成的是第三方的友盟,我看了下微信官方的sdk和友盟的小程序分享差不多,于是,就先罗列下友盟的分享 1.首先在微信 ...

  4. android友盟微信分享到朋友圈,2020年友盟分享到微信朋友圈

    2020年友盟分享到微信朋友圈 1.我想要对你说出我要说的最深的话语,我不敢,我怕你取笑 7.真心总是无人喜,偏偏套路撩人心 10.钱可以帮穷人思维的人解决温饱,却可以帮富人思维的人制造财富 十七.考 ...

  5. Android 友盟分享 开发日记

    公司项目涉及到分享的部分了,看友盟的平台相当的强大,觉得就用这个了,本以为也就一个上午的事情,哪知道在这个坑里面足足蹲了两天的时间,下面我将详细介绍下友盟分享的具体过程 tip:强烈建议配合开发文档一 ...

  6. Android 友盟分享,让你后顾无忧,麻麻再也不用担心我的学习。

    咱们上回书说道:不用微信SDK也能分享. Android 微信分享,无需那么麻烦. 这次写友盟分享一个是避免微信新版本改动过大,可能导致无法做到Intent跳转界面的分享实现,还有就是不能局限于一个微 ...

  7. Android 友盟统计 友盟推送 友盟分享快速集成

    一.友盟统计 1.首先需要到友盟官网 http://mobile.umeng.com/apps注册并且添加新应用,获得Appkey 2.导入SDK,新版SDK支持Android 6.0,http:// ...

  8. Canvas绘制Bitmap 友盟分享纯图片至微信好友

    1.需求场景 Android开发中,有将带有二维码的纯图片分享给微信需求 ,左是分享一张内容固定图片,右是需求实现图片            目前,我们有一个需求是不同用户报名活动成功后分享出去的图片 ...

  9. 解决微信登录出现{errcode:40163,errmsg:code been used, hints: [ req_id: jEFDVY4ce-jz9NSA ]} (前提是使用友盟分享)

    记录一下,记录一下. (真的想搞洗友盟) 前提是接入友盟分享SDK. 错误信息 {"errcode":40163,"errmsg":"code bee ...

  10. 友盟分享 QQ分享后,不显示左下角的小图标

    友盟分享 QQ分享后,不显示左下角的小图标 根据友盟官方论坛说明 icon是16 * 16的 应用名称是在QQ开发者后台配置的 地址http://op.open.qq.com 以下是截图 1. 申请Q ...

最新文章

  1. 深入理解CSS盒模型
  2. 机器学习知识点(十九)矩阵特征值分解基础知识及Java实现
  3. python rq asyncio_Python 的异步 IO:Asyncio 简介
  4. 新一代网络模式Web 2.0火爆发展
  5. lunix下的redis数据库操作——list列表
  6. 云原生 CI/CD 框架 Tekton 初体验
  7. ActiveMQ入门教程(一) - JMS和ActiveMQ简介
  8. Kubernetes应用跨可用区实战
  9. 【提前批】22届的同学看过来,百度提前批开始啦~
  10. Android - 获取字符串长度的宽度
  11. informix mysql_Informix数据库查看数据库大小
  12. 油/水溶性CdS-ZnS/InP-ZnS/ZnSe-ZnS/CdSe/ZnS量子点的应用
  13. 计算机启动灯光提示,开机电脑指示灯红色常亮是怎么回事?
  14. 英文赞美句子,大家应该看看
  15. 区块链加/解密:对称加密
  16. 阿里云ecs实例怎么增添到IP白名单和安全组?
  17. MMKV-Android中的存储框架
  18. 最近很火的爱心红包教程~可以Biu~发射爱心的微信红包!太有创意啦~
  19. LeetCode 2021 力扣杯全国秋季编程大赛(第384名)
  20. html链接到另一个网址,怎么设置超级链接跳到另一个网站

热门文章

  1. 这个游戏引擎开源了!
  2. Android反编译,看这一篇就够了
  3. H5页面在自己APP中图标显示正常,接入钉钉请求.woff图标字体报错
  4. c语言中如何进行开方和求一个数的几次方;
  5. WAS中间件服务器简介
  6. 计算机中职课程表,计算机专业课程表
  7. java mvc jquery weui_weui开发笔记
  8. docker安装awvs13
  9. 安装eclipse汉化包后无法打开eclipse的解决方法
  10. Java课程设计——日历的设计与实现