
URL scheme启动Android应用,原生Android浏览器解析不正确 20
通过URLscheme启动Android应用,类似<ahref="myapp://"></a>在uc、chrome下面都没有问题,但是在原生的Android浏览器上面,浏...
通过URL scheme启动Android应用,类似<a href="myapp://"></a>
在uc、chrome下面都没有问题,但是在原生的Android浏览器上面,浏览器将“myapp://”解析成连接地址然后在浏览器打开 展开
在uc、chrome下面都没有问题,但是在原生的Android浏览器上面,浏览器将“myapp://”解析成连接地址然后在浏览器打开 展开
1个回答
展开全部
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,经测试无法成功。不知道是哪里的问题,还请知道的指点一二。
创建一个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,经测试无法成功。不知道是哪里的问题,还请知道的指点一二。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询