簡體   English   中英

Android Intent Filters:如何正確使用Intent.CATEGORY_BROWSABLE?

[英]Android Intent Filters : How do you use Intent.CATEGORY_BROWSABLE correctly?

我有一個意圖過濾器,用於攔截來自我域中瀏覽器的URL。 這將使用戶可以選擇使用本機應用程序或瀏覽器。 我已經設置了以下意圖過濾器。

<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。 這將再次向用戶顯示選擇對話框。

要注意的是,還允許用戶選擇一個復選框以始終使用本機應用程序。 盡管這很好,但有時絕對值是錯誤的。 因此,如果我正在閱讀的博客文章中提到了特定的URL和該文檔的特定部分,則截取該URL不是用戶想要的,而是會將其發送給本機應用程序。 同樣,在有意選擇按鈕后,它們也將立即被吸回到應用程序中。

如何為系統瀏覽器構造ACTION_VIEW意圖,或者至少檢測到用戶選擇了始終使用本機應用程序,以便可以使用ACTION_WEB_SEARCH(它與歷史記錄堆棧具有不同的UI行為,所以我不會這樣做)不要選擇一直使用此操作)。

因此,我再次進行了潤飾,答案實際上非常簡單。 使用Intent.createChooser(intent,charSequence)。 無論選擇什么,似乎都會繞過OS的已保存首選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM