我在尋找哪些瀏覽器安裝在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