Android h5(分享页面)唤醒app,并跳转指定界面

现在基本所有h5流量都会往自家app导入流量。所以我们常见会发现浏览器打开网页、微信分享文章扥等都有打开app的按钮

1、app代码

<activity
  android:name=".AwakenActivity"
  <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="h5"      
            android:pathPrefix="/open"
            android:scheme="awaken" />
  </intent-filter>
</activity>
			

2、h5代码

 <a href="awaken://h5/open?openType=1&openId=123">打开app</a>

其实就是<a href="scheme://host/pathPrefix?openType=1&openId=123">打开app</a>

3、app逻辑(AwakenActivity)

首先我们需要判断Activity的  action  =  getIntent().getAction();

其次我们需要判断  if(Intent.ACTION_VIEW.equals(action)) 来判断是否是我们指定的 action 

再次我们来获取参数:h5传递过来的参数。

 public void startActivityByHtml(){
        Intent intent = getIntent();
        if (intent != null ){
            if (Intent.ACTION_VIEW.equals(intent.getAction())) {
                Uri intentData = intent.getData();
                if (intentData != null){
                    String openType = intentData.getQueryParameter("openType");
                    String openId = intentData.getQueryParameter("openId");
                    //根据openType 跳转指定界面
                    
                }
            }

        }
    }

4、微信、QQ分享页面如果跳转app

Android11以后,软件包可见性。
<queries>
    <!--微信-->
    <package android:name="com.tencent.mm" />
    <!--支付宝-->
    <package android:name="com.eg.android.AlipayGphone" />
    <package android:name="hk.alipay.wallet" />
    <!--QQ-->
    <package android:name="com.tencent.qqlite" />
    <package android:name="com.tencent.mobileqq" />
    <!--新浪微博-->
    <package android:name="com.sina.weibo" />
</queries>
针对腾讯产品分享,我们只需要在他的商户后台把我们分享页面域名配置上,即可实现分享页面,唤醒app的功能。

5、产品需求往往还会有,指定界面点击返回需求

①:app已打开情况,返回到上一个界面。

②:当app未打开情况,跳转指定界面,需要返回到首页。我们在AwakenActivity界面判断当前主页面是否打开,如果打开跳转指定界面;未打开先跳转主界面,再跳转到指定界面

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值