android 从app跳转到微信小程序和微信没有设置浮动权限 打不开小程序

本文详细介绍了如何在Android应用中集成微信SDK,实现从Android应用跳转到微信小程序的功能。包括获取小程序原始ID,配置微信SDK,创建WXEntryActivity以及处理跳转逻辑。同时,解决了华为手机因缺少浮动权限导致无法打开小程序的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

技术标签: Android 跳转微信小程序 app app跳转微信小程序 跳转微信小程序打不开微信
微信官方文档:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Launching_a_Mini_Program/Android_Development_example.html

第一步需要获取 appID 小程序原始ID

在微信开放平台创建应用时填写应用签名的时候,填写的是md5值 并去掉“:”号全部改为小写

第二步集成微信的包

 
    1. //版本号可以修改为最新的
    2. api 'com.tencent.mm.opensdk:wechat-sdk-<a href="http://www.gaodaima.com/tag/android" title="查看更多关于android的文章" target="_blank">android</a>-with-mta:5.3.1'

第三步 需要在自己的报名下新建一个wxapi包,在新建一个WXEntryActivity类

 
    1. public class WXEntryActivity extends AppCompatActivity implements IWXAPIEventHandler {
    2. private static String TAG = "MicroMsg.WXEntryActivity";
    3. private IWXAPI api;
    4. @Override
    5. public void onCreate(Bundle savedInstanceState) {
    6. super.onCreate(savedInstanceState);
    7. try {
    8. Intent intent = getIntent();
    9. api.handleIntent(intent, this);
    10. } catch (Exception e) {
    11. e.printStackTrace();
    12. }
    13. }
    14. @Override
    15. protected void onNewIntent(Intent intent) {
    16. super.onNewIntent(intent);
    17. setIntent(intent);
    18. api.handleIntent(intent, this);
    19. }
    20. @Override
    21. public void onResp(BaseResp baseResp) {
    22. if (baseResp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
    23. WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) baseResp;
    24. String extraData = launchMiniProResp.extMsg; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性
    25. }
    26. }
    27. }

点击调转小程序

 
    1. if (!isWeixinAvilible(getActivity())){
    2. showToast("请先安装微信");
    3. return;
    4. }
    5. //这个是打开微信 防止华为手机 微信没有设置浮动权限 打不开小程序
    6. Intent lan = getActivity().getPackageManager().getLaunchIntentForPackage("com.tencent.mm");
    7. Intent t2 = new Intent(Intent.ACTION_MAIN);
    8. t2.addCategory(Intent.CATEGORY_LAUNCHER);
    9. t2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    10. t2.setComponent(lan.getComponent());
    11. startActivity(t2);
    12. // 下面是跳转小程序
    13. String appId = ""; // 填应用AppId
    14. IWXAPI api = WXAPIFactory.createWXAPI(getContext(), appId);
    15. WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
    16. req.userName = ""; // 填小程序原始id
    17. req.path = ""; //拉起小程序页面的可带参路径,不填默认拉起小程序首页
    18. req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版
    19. // req.miniprogramType =WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW;
    20. api.sendReq(req);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值