Android开发之通过浏览器链接打开任意app页面
程序员文章站
2022-06-08 13:17:34
...
老套路先上图:
先说下上面的流程,第一张图是模拟浏览器的网页点击链接打开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();
}
}