簡體   English   中英

Android 在連接到 USB 設備時禁用默認應用程序選擇提示

[英]Android disable default app selection prompt when connect to a usb device

我有一個需要連接到 USB 設備的 Android 應用程序。 我已經使用意圖過濾器來獲得設備的權限,但是,每次當我將手機與 USB 設備連接時,Android 都會自動提示選擇要使用 USB 設備打開的默認應用程序。 我知道設備的所有默認應用程序都由具有意圖過濾器<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />

所以我的問題是,如何禁用設備的提示? 無論應用程序是否打開,連接設備時總是出現提示,這對我來說真的很煩人。 謝謝你的幫助!

我剛剛發現有一種方法可以“破解”提示。

  1. 創建一個空白活動,添加帶有 USB 附加過濾器的意圖過濾器<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />

  2. 移除所有其他活動的 USB 連接意圖過濾器,並在這些活動中手動添加requestPermission 因為空白 Activity 會記住整個應用程序的 USB 權限,所以一旦這些 Activity 授予用戶 USB 權限,則整個應用程序都被授予。 因為現在只有空白活動注冊了 USB 連接意圖過濾器,所以默認情況下會在 USB 設備插件時啟動這個空白活動

  3. 在空白活動onCreate ,調用onBackPressed以便一旦啟動空白活動,它會自動返回,並且因為這真的很快,所以用戶不應該意識到任何變化。

因此,當應用程序打開時,插入 USB 設備就像用戶沒有發生任何事情一樣。

暫無
暫無

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

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