亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

微信內H5喚醒本地安裝應用終于有解決方案了

標簽:
Android

我之前做了好多工作,就是解决不了在微信内打开的H5唤醒我的本地应用并且跳转到指定的页面。之前我是这么做的

1 主要是在AndroidManifest.xml里面的配置,配置你的应用中从头到尾不会被回收掉的那个activity上

注意:android:scheme 是你app在微信开发者申请的appid,微信使用的是qq浏览器的内核,内部把这一层拦截了,这就是你用手机上的浏览器可以打开,在微信里就打不开了,这就是原因,你需要用appid作为scheme让微信去识别

<!-- 主界面 -->
        <activity
            android:name=".MainActivity"
            android:screenOrientation="portrait"
            android:exported="true"
            android:launchMode="singleTop"
            android:taskAffinity="com.xxxxxxx.xxxx.xxxx"
            android:windowSoftInputMode="adjustPan|stateHidden">
            <!--要想在别的App上能成功调起App,必须添加intent过滤器-->
           <!--android:host 参数自己可以随便写-->
            <!--wx52662xxxxxxxxxx://xxxx.uri.activity?finds_id=4  Open links like scheme://host/?…-->
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>

                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE"/>
                <!--协议部分,随便设置-->
                <data
                    android:host="doer.uri.activity"
                    android:scheme="wx52662xxxxxxxxxx"/>
            </intent-filter>
        </activity>
2 在mainactivity里这样接收:
 /**
     * 接收H5唤醒app跳转指定页面的逻辑
     */
    private void initGetData() {
        intent = getIntent();        if (null != intent) {
            Uri uri = intent.getData();            if (uri == null) {                return;
            }            //testapp://test.uri.activity?action=1
            String acionData = uri.getQueryParameter("action");
            String find_id = uri.getQueryParameter("finds_id");            if (null != acionData && acionData.equals("1")) {
                String shops_id = uri.getQueryParameter("shops_id");
                String goodsType_id = uri.getQueryParameter("goodsType_id");
                String goods_id = uri.getQueryParameter("goods_id");                if (!TextUtils.isEmpty(shops_id)) {
                    Intent go_shop_good = new Intent(MainActivity.this, WMShopActivity.class);
                    go_shop_good.putExtra(getString(R.string.shops_id_key), Integer.valueOf(shops_id));
                    startActivity(go_shop_good);
                }                if (!TextUtils.isEmpty(goodsType_id)) {
                    Intent go_shop_good = new Intent(MainActivity.this, WMShopActivity.class);
                    go_shop_good.putExtra(getString(R.string.current_select_goodsType_id), Integer.valueOf(goodsType_id));
                    startActivity(go_shop_good);
                }                if (!TextUtils.isEmpty(goods_id)) {
                    Intent go_shop_good = new Intent(MainActivity.this, WMShopActivity.class);
                    go_shop_good.putExtra(getString(R.string.current_select_goods_id), Integer.valueOf(goods_id));
                    startActivity(go_shop_good);
                }
            }            if (!TextUtils.isEmpty(find_id)) {
                Intent go_find = new Intent(MainActivity.this, DiscoverDetailActivity.class);
                go_find.putExtra(getString(R.string.find_id_key), Integer.valueOf(find_id));
                startActivity(go_find);
            }
        }
    }

在我印象中好像成功过几次,然后再也不行了,坑爹。

就在今天我又找到了一种解决方案:

那就是这个第三方帮我们解决了这个问题,最主要的是这个三方还免费。我不是为它打广告,我是有找到了一种解决方案比较兴奋才分享出来的。

网址:https://www.linkedme.cc/doc/content/LinkPage-Integration.html

自己看文档集成吧,so easy!

原文链接:http://www.apkbus.com/blog-23538-68044.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消