收藏
回答

Android端app拉起微信小程序跳转提示“跳转失败” 不知道为何?

IWXAPI api = WXAPIFactory.createWXAPI(context, appId, false);
            WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
            req.userName = userId;
            if (TextUtils.isEmpty(path)) {
                req.path = "";
            } else {
                req.path = path;
            }
            if (TextUtils.isEmpty(mini)) {
                req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;
            } else {
                req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW;
            }
            api.sendReq(req);
            
            
微信版本7.0.6

appId: wx516f09ef989c1298
userId,req.userName: gh_b52e04a0100c   
path="";
mini="";
req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;       


compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'  
            
           

回答关注问题邀请回答
收藏

3 个回答

  • 松柏
    松柏
    2019-11-25

    我也遇这个问题,但确认appid没用错, 应用签名,大小写都试过,帮我看原因

    package com.example.myapplication3;
     
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Toast;
     
    import androidx.appcompat.app.AppCompatActivity;
     
    import com.tencent.mm.opensdk.constants.ConstantsAPI;
    import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
    import com.tencent.mm.opensdk.openapi.IWXAPI;
    import com.tencent.mm.opensdk.openapi.WXAPIFactory;
     
     
    public class MainActivity extends AppCompatActivity {
        public static final String TAG = MainActivity.class.getSimpleName();
     
        // APP_ID 替换为你的应用从官方网站申请到的合法appID
        private static final String APP_ID = "wx82d0****fe25eb40";
     
        // IWXAPI 是第三方app和微信通信的openApi接口
        private IWXAPI api;
     
        private BroadcastReceiver broadcastReceiver;
     
        private void regToWx() {
            // 通过WXAPIFactory工厂,获取IWXAPI的实例
            api = WXAPIFactory.createWXAPI(this, APP_ID, true);
     
            // 将应用的appId注册到微信
            api.registerApp(APP_ID);
     
            broadcastReceiver = new BroadcastReceiver() {
                @Override
                public void onReceive(Context context, Intent intent) {
     
                    // 将该app注册到微信
                    api.registerApp(APP_ID);
                }
            };
     
            //建议动态监听微信启动广播进行注册到微信
            registerReceiver(broadcastReceiver, new IntentFilter(ConstantsAPI.ACTION_REFRESH_WXAPP));
     
        }
     
        // 调启我的小程序
        private void goMiniProgram(){
            WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
            req.userName = "wxbd6534d10790****"; // 填小程序原始id
            req.path = "pages/index/index"; //拉起小程序页面的可带参路径,不填默认拉起小程序首页
            req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE; //.MINIPTOGRAM_TYPE_RELEASE; // 可选打开 开发版,体验版和正式版
            api.sendReq(req);
        }
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     
            // 注册到微信
            this.regToWx();
        }
     
        public void clickToWX(View view){
            Log.i(TAG,TAG+"clickToWX");
            Toast.makeText(this, "点击跳转到小程序", Toast.LENGTH_LONG).show();
            this.goMiniProgram();
        }
     
        @Override
        protected void onDestroy() {
            super.onDestroy();
     
            Log.i(TAG,TAG+"onDestroy***********************************************");
            if(broadcastReceiver!= null){
                unregisterReceiver(broadcastReceiver);
            }
     
        }
    }






    2019-11-25
    有用
    回复 1
    • 松柏
      松柏
      2019-11-25
      用户解决了,不是小程序的AppID,而原始ID:gh_327063**
      2019-11-25
      1
      回复
  • Yameta
    Yameta
    2019-08-21

    我这边解决了 appid用错了

    Android端应该用应用appid而不是小程序appid来WXAPIFactory.createWXAPI(context, appId, false); 

    但是ios端只需要小程序原始id 这两个appid(应用appid和小程序appid)都不需要用到

    但是什么错误提示都没有!!!就提示一个“跳转失败”!!!

    这点设计的真的太次了!!!

    2019-08-21
    有用
    回复
  • 灵芝
    灵芝
    2019-08-21

    你好,可以先对照文档排除一下问题:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21526646437Y6nEC&token=&lang=zh_CN

    2019-08-21
    有用
    回复
登录 后发表内容
问题标签