我在寻找哪些浏览器安装在Android智能手机和他们的包名的方式来了解一下。找出安装了哪些浏览器?
为什么需要它?
嗯,基本上,我的应用程序对某些URL反应,即http://bit.ly,所以当点击这样的,他会得到一个选择在应用程序中打开它。到目前为止,一切都按照预期工作。
如果用户设置了该应用程序为默认这种链接,它会一直在这一个没有进一步询问用户开放。到目前为止这么好。但通过这样做,他将完全无法在他的浏览器中打开这个链接。
所以我需要一种方法将这个意图直接发送到浏览器,但要做到这一点,我必须知道用户设置为默认用于http/https方案的应用程序(例如用户可以更改它安装了多个浏览器)。
发送带有
intent.setComponent(new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"));
的打算should't是一个问题,我想。问题是,我无法发送URL的标准意图,因为如果用户将其设置为默认值,我的应用程序会再次捕获它。
为什么你想设置为发送到默认浏览器?只需将该链接作为意图发送,并让手机决定将哪个浏览器设置为默认设置。 – Falmarri 2010-09-22 20:43:52
因为如果我按照正常的意图发送它,我的应用程序会再次捕获它(如果设置为默认值)。在这种情况下,这不是理想的结果。 假设你有一个应用,该应用捕获http://www.flickr.com/photos/ URL和他们在开启应用程式。但是现在你想让用户有机会在浏览器中打开它。如果你发送正常的意图,你的应用程序会再次打开它。所以你需要将它发送到一个特定的浏览器,所以你的应用程序不会再捕获它 – Tseng 2010-09-22 21:50:17