App拉起小程序无法正常返回app

问题:App拉起小程序无法正常返回

问题描述:App端通过官方代码打开小程序,

  String appId = ""; // 填应用AppId
  IWXAPI api = WXAPIFactory.createWXAPI(UserLoginByPwdActivity.this, appId);

  WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
                        req.userName = ""; // 填小程序原始id
                        req.path = "pages/authenticate/login/login-face/login-face?from=app&appName=&skipbind=1&responseType=code&multiAuthWay =1";                  ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
                        req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版
                        api.sendReq(req);

打开小程序操作完之后,返回App发现没有反应,一直处于加载中,WXEntryActivity 回调程序也没有走。
最后发现是之前微信的相关配置有问题

 <activity
            android:name="xxxx.wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:launchMode="singleTop"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <activity-alias
            android:name="${applicationId}.wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:launchMode="singleTop"
            android:targetActivity="xxxxx.wxapi.WXEntryActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

问题解决:

修改清单文件中的android:launchMode="singleTop"android:launchMode="singleTask"
就可以跳回App了

<activity
            android:name="xxxx.wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:launchMode="singleTask"
            tools:replace="android:launchMode"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <activity-alias
            android:name="${applicationId}.wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:launchMode="singleTask"
            android:screenOrientation="portrait"
            tools:replace="android:launchMode"
            android:targetActivity="xxxx.wxapi.WXEntryActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

你可能感兴趣的:(问题总结)