网页启动App并传值

来源:互联网 发布:nba2010总决赛数据 编辑:程序博客网 时间:2024/06/07 23:44

在很多时候会使用到在网页中调起App,并且传值。

其实很简单,只要在调起的App的目标Activity的配置文件下加上以下代码:

<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="XXXXX.com" android:scheme="YYY"/></intent-filter>
这里有一点要注意,个人总结出来的结论,如果你要调起的页面是是这个App的启动页面的话,可能会导致这个App的图标找不到,具体什么原因我也不清楚,但是在使用的时候发生了这种情况。


而且在这次使用调起App的时候我用到了传值,并且做出相应的判断,所以我就新建了一个页面,使之作为调起的页面,然后进行相应的操作,就完全没有问题了。

配置文件中的代码写过了,就可以在Activity中获取传递的值了,其代码如下:

Uri uri = getIntent().getData();String type= uri.getQueryParameter("type");String id= uri.getQueryParameter("id");
那作为接收端是这样的代码,在网页中就可以使用以下代码进行调起:

<html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">        <title>Insert title here</title>    </head>    <body>        <a href="YYY://XXXXX.com/?type=video&id=1274">打开app</a><br/>    </body></html>
如果需要传值就赋值,如果不需要传值就直接
herf="YYY://XXXXX.com/"
其中这里的href和scheme需要保持一致;


以上。