Android app跳轉(zhuǎn)微信小程序,返回app遇到的各種坑

Android app跳轉(zhuǎn)微信小程序,返回app遇到的各種坑

在此,吐槽下微信官方文檔寫的太口吐芬芳了,開發(fā)如題的功能時(shí)候,一看微信官網(wǎng)文檔app拉起小程序,發(fā)現(xiàn)如此簡(jiǎn)單,短短的幾行代碼就可以,如果你和我一樣,按照官方文檔,會(huì)發(fā)現(xiàn)我們還是太年輕,代碼一模一樣,但是沒有效果。下面開始填坑之路:

填坑1:AppId

這里的AppId是Android應(yīng)用的appid,不是小程序的AppId

填坑2:AndroidManifest.xml的配置

在AndroidManifest.xml的WXEntryActivity中加入如下屬性:

    android:taskAffinity="your packagename"
    android:launchMode="singleTask" 

這里如果不加的話,小程序無法跳轉(zhuǎn)回APP

填坑3:WXEntryActivity實(shí)現(xiàn)IWXAPIEventHandler接口

public class WXEntryActivity extends Activity implements IWXAPIEventHandler

填坑4:在onResp里面finish,不然WXEntryActivity是透明的,導(dǎo)致app無法操作

 public void onResp(BaseResp resp) {
        if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
            WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
            String extraData = launchMiniProResp.extMsg; //對(duì)應(yīng)小程序組件 <button open-type="launchApp"> 中的 app-parameter 屬性
            LogUtils.i("小程序==" + extraData);
            finish();
        }
    }

填坑5:在onCreate處理返回值

// IWXAPI 是第三方app和微信通信的openapi接口
    private IWXAPI api;

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        // 通過WXAPIFactory工廠,獲取IWXAPI的實(shí)例
        api = WXAPIFactory.createWXAPI(this, Constants.APP_ID, false);
        //注意:
        //第三方開發(fā)者如果使用透明界面來實(shí)現(xiàn)WXEntryActivity,需要判斷handleIntent的返回值,如果返回值為false,則說明入?yún)⒉缓戏ㄎ幢籗DK處理,應(yīng)finish當(dāng)前透明界面,避免外部通過傳遞非法參數(shù)的Intent導(dǎo)致停留在透明界面,引起用戶的疑惑
        try {
            if (!api.handleIntent(getIntent(), this)) {
                finish();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

至此,app調(diào)起微信小程序,返回app一切正常了,大功告成。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容