Android打开小程序,无法返回Android,场景值1069,IOS可以返回,请问是什么原因?
发布于 5 年前 作者 lei61 10344 次浏览 来自 官方Issues

安卓打开小程序,(场景值确定是1069),点击返回app无反应。小程序端日志:“返回App成功”。但是安卓OnCreate都没有进来。同样也没有接到“onResp”回调。IOS端正常返回,没有问题。谢谢!

__ 配置如下:__

机型:所有
Android:所有
小程序版本:正式、开发、体验都不行
应用跳转小程序权限:已获得
AppId:wx87cce9c3b7d07114
微信号:YeXiuGang
日志:已上报
时间范围:2021年2月6日15:28:00 -- 2021年2月6日15:28:10
依赖:
implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+' 
AndroidManifest.xml:
<activity
    android:name=".wxapi.WXPayEntryActivity"
    android:exported="true"
    android:label="@string/app_name"
    android:launchMode="singleTask"
    android:taskAffinity="c.a.b" >
</activity>

跳转小程序代码:

        com.tencent.mm.opensdk.openapi.IWXAPI msgApi = WXAPIFactory.createWXAPI(this, "wxAppId");
        if (!msgApi.isWXAppInstalled()) {
            ToastUtil.StartToast(this, "请先安装微信,才能使用微信支付功能");
            return;
        }
        msgApi.registerApp("wxAppId");
        WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
        req.userName = "gh_Id";//原始ID
        req.path = "pages/thrid_x?a=1" ;
        req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版
//        req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW;// 可选打开 开发版,体验版和正式版
//        req.miniprogramType = WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_TEST;// 可选打开 开发版,体验版和正式版
        msgApi.sendReq(req);
WXPayEntryActivity.java
public class WXPayEntryActivity extends Activity implements IWXAPIEventHandler {

    private static final String TAG = "WXPayEntryActivity";
    private IWXAPI api;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dialog_loading);
        api = WXAPIFactory.createWXAPI(this, "wxAppid");
        api.registerApp("wxAppid");
        if (!api.handleIntent(getIntent(), this)) {
            finish();
        }
    }

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        setIntent(intent);
        api.handleIntent(intent, this);
    }

    @Override
    public void onReq(BaseReq req) {
        LogUtils.e(TAG, "--------onReq--------");
    }

    @Override
    public void onResp(BaseResp resp) {
        LogUtils.e(TAG, "onResp, errCode = " + resp.errCode);
    }
}
1 回复

补充:

小程序原始id:gh_ef98584973ac
回到顶部