我有一个意图过滤器来截取我域上浏览器的网址。这将为用户提供使用本机应用程序或浏览器的选择。我已经设置了以下intent过滤器。
<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的按钮,它只是为View创建一个intent,以及代表它的url。这将再次向用户显示选择对话框。
对此的关注是,还允许用户选择复选框以始终使用本机应用程序。虽然这很好,但有时绝对是错误的。因此,如果我正在阅读提及该文档的特定网址和特定部分的博客帖子,则拦截该网址不是用户的意图,而是将其发送到本机应用程序。此外,在选择具有意图的按钮后,它们将立即被吸回到应用程序中。
如何为系统浏览器构建ACTION_VIEW意图或至少检测到用户选择的内容始终使用本机应用程序,以便您可以使用ACTION_WEB_SEARCH(它与历史堆栈具有不同的UI行为,这就是为什么我不会一直选择使用此操作。)
答案 0 :(得分:0)
所以我再次修改了这个,答案实际上非常简单。使用Intent.createChooser(intent,charSequence)。无论选择什么,似乎都会绕过保存的操作系统偏好。