通过URL Scheme启动Android应用

1、自定义URL Scheme:

创建一个activity并加上一个<intent-filter>(如果该activity是包含其他<intent-filter>,则需新建一个<intenf-filter>,不能在原有filter上添加),内容为:
                <action android:name="android.intent.action.VIEW"/><!-- 若删除,使用startActivity启动android.content.ActivityNotFoundException,使用HTMLViewer启动找不到网页-->
                <category android:name="android.intent.category.BROWSABLE"/><!-- 若删除,使用startActivity启动ok,使用HTMLViewer启动找不到网页 -->
                <category android:name="android.intent.category.DEFAULT"/><!-- 若删除,使用startActivity启动android.content.ActivityNotFoundException,使用HTMLViewer启动找不到网页-->
                <data android:scheme="myapp"/><!-- scheme的值可自定义 -->

2、通过URL Scheme启动Android应用

方式一:通过代码访问:Intent intent = new Intent();
/**parse的参数值说明如下
* 只写myapp,启动android.content.ActivityNotFoundException
* 写myapp://12,成功
* 写myapp://da?sd=ad,成功
*/
intent.setData(Uri.parse("myapp://12"));
startActivity(intent);
方式二:通过网页访问:
/**href的值说明如下
* 只写myapp,找不到网页
* 写myapp://12,成功
* 写myapp://da?sd=ad,成功
*/

<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
     <title>通过URL Scheme启动Android应用</title>
 </head>
 <body>
     <form>
       <a href="myapp://12">启动</a>
     </form>
 </body>
</html>
创建完成后发送到手机,再点击html选择使用HTMLViewer打开,再点击链接即可启动应用。
3、总结:第二种方式实现有点繁琐,最好的实现方式是直接在浏览器中输入url以启动应用。在网上搜索找到应如下操作:在浏览器的搜索栏输入如下url:content://com.android.htmlfileprovider/storage/emulated/0/myapp://12,经测试无法成功。不知道是哪里的问题,还请知道的指点一二。

你可能感兴趣的:(android,Scheme,filter,url)