欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android开发之通过浏览器链接打开任意app页面

程序员文章站 2022-06-08 13:17:34
...

老套路先上图:

Android开发之通过浏览器链接打开任意app页面

Android开发之通过浏览器链接打开任意app页面

Android开发之通过浏览器链接打开任意app页面

 

先说下上面的流程,第一张图是模拟浏览器的网页点击链接打开app,第二张图系统弹框提示是否打开app,第三张图已打开APP,弹出的吐司是打开APP携带的数据

具体实现分为两步,第一步配置你要打开的activity页面如下:

 <activity android:name=".activity.BrowserOpenActivity">
            <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="xiayiye"
                    android:scheme="yhsh" />
            </intent-filter>
        </activity>

第二步,打开app的链接:

<p>通过点击下面的打开app按钮可以打开知道的app并且传递参数</p>
<p><a href="yhsh://xiayiye?name=zhangsan&age=29">打开App</a></p>

yhsh:代表清单文件里面的scheme

xiayiye:代表host

后面剩下的就是参数跟get请求拼接一样即可

 

然后看下打开activity后是如何获取到的参数:

 String action = getIntent().getAction();
        if (action != null && action.equals(Intent.ACTION_VIEW)) {
            Uri data = getIntent().getData();
            if (data != null) {
                String name = data.getQueryParameter("name");
                String age = data.getQueryParameter("age");
                Toast.makeText(this, "名字:" + name + "年龄:" + age, Toast.LENGTH_LONG).show();
            }
        }