2010-08-27 70 views
1

我有一個意圖過濾器來攔截我的域上的瀏覽器的網址。這將使用戶可以選擇使用本機應用程序或瀏覽器。我已經設置了以下意圖過濾器。Android Intent過濾器:您如何正確使用Intent.CATEGORY_BROWSABLE?

<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的意圖和代表它的url。這將再次向用戶提供選擇對話框。

這個問題的關鍵是用戶也被允許選擇一個複選框來始終使用本機應用程序。雖然這很好,但有時絕對是錯誤的。因此,如果我正在閱讀提及該文檔的特定網址和特定部分的博客文章,則攔截該網址並不是用戶所期望的內容,而是將它們發送到本機應用程序。此外,在選擇具有意圖的按鈕後,它們將立即被吸回到應用程序中。

如何構建系統瀏覽器的ACTION_VIEW意圖,或者至少檢測到用戶選擇始終使用本機應用程序,以便您可以使用ACTION_WEB_SEARCH(它具有與歷史堆棧不同的UI行爲,即爲什麼我不會選擇一直使用這個動作)。

回答

0

所以我再次修改過這個,答案其實很簡單。使用Intent.createChooser(intent,charSequence)。無論選擇什麼,似乎都會繞過所保存的操作系統偏好。

相關問題