我有一个意图过滤器来拦截来自我的域上的浏览器的urls。这将为用户提供使用本机应用程序或浏览器的选择。我已经这样设置了下面的意图过滤器。
<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="myDomain" android:pathPrefix="/custom/" android:scheme="http" />
</intent-filter>现在,我并不打算将用户困在本机应用程序中,因为使用浏览器有很多好处。所以我想给用户一些在应用程序中返回浏览器的能力。我已经创建了一个带有onClick的按钮,它可以简单地创建视图的意图和表示它的url。这将再次向用户显示选择对话框。
问题是,用户还可以选中一个复选框,以始终使用本机应用程序。虽然这很好,但有时绝对是错误的。因此,如果我正在阅读一篇提到特定url和该文档的特定部分的博客文章,截取该url不是用户的本意,而是会将它们发送到本机应用程序。然后,在选择带有意图的按钮时,它们将立即被吸回到应用程序中。
如何为系统浏览器构造一个ACTION_VIEW意图,或者至少检测到用户选择了总是使用本机应用程序,以便您可以使用ACTION_WEB_SEARCH (它与历史堆栈具有不同的UI行为,这就是为什么我不会一直使用此操作的原因)。
发布于 2010-10-06 04:45:45
因此,我再次对此进行了修改,答案实际上非常简单。使用Intent.createChooser(intent,charSequence)。无论选择什么,似乎都会绕过操作系统保存的首选项。
https://stackoverflow.com/questions/3586627
复制相似问题