
<a href="intent://www.Google.com#Intent;scheme=http;action=androID.intent.action.VIEW;end">Google</a>
(我知道这是一个愚蠢的例子,因为它可能只是http://www.google.com,但它说明了问题)
我确定了这个URI
Log.v(new Intent(Intent.ACTION_VIEW).setData(Uri.parse("http://www.Google.com")).toUri( Intent.URI_INTENT_SCHEME)); 我在logcat中看到以下内容:
08-02 08:32:34.708 I/ActivityManager( 71): Starting activity: Intent { act=androID.intent.action.VIEW cat=[androID.intent.category.broWSABLE] dat=http://www.Google.com cmp=com.androID.browser/.browserActivity }08-02 08:32:34.748 E/Tab ( 4188): onReceivedError -10 intent://www.Google.com#Intent;scheme=http;action=androID.intent.action.VIEW;end The protocol is not supported 而不是重定向到www.Google.com我得到“网页不可用”页面.
如果我使用am二进制文件启动相同的意图,它会成功.
adb -e shell am start -d http://www.Google.com -a androID.intent.action.VIEW
我在logcat中看到了这个
08-02 08:47:42.488 I/ActivityManager( 71): Starting activity: Intent { act=androID.intent.action.VIEW dat=http://www.Google.com flg=0x10000000 cmp=com.androID.browser/.browserActivity } 最终目标是拥有一个在应用程序中启动特定活动的URL(并且在没有安装应用程序的情况下,某人无法访问此页面).我知道我也可以定义一个自定义方案,但由于它是一个全局命名空间,我宁愿不这样做.我也知道我可以使用http://为此目的,但我不希望系统提示用户是否要在浏览器或我的应用程序中打开URL.
有任何想法吗?
解决方法 我遇到了同样的问题将以下代码添加到AndroIDManifest.xml中的Activity中解决了我的问题:
<category androID:name="androID.intent.category.DEFAulT" /><category androID:name="androID.intent.category.broWSABLE" />总结
以上是内存溢出为你收集整理的intent:URI无法在Android浏览器中运行全部内容,希望文章能够帮你解决intent:URI无法在Android浏览器中运行所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)