![](/img/trans.png)
[英]How to write a app to connect an Android device to a host USB GPS device
[英]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" />
所以我的問題是,如何禁用設備的提示? 無論應用程序是否打開,連接設備時總是出現提示,這對我來說真的很煩人。 謝謝你的幫助!
我剛剛發現有一種方法可以“破解”提示。
創建一個空白活動,添加帶有 USB 附加過濾器的意圖過濾器<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
移除所有其他活動的 USB 連接意圖過濾器,並在這些活動中手動添加requestPermission
。 因為空白 Activity 會記住整個應用程序的 USB 權限,所以一旦這些 Activity 授予用戶 USB 權限,則整個應用程序都被授予。 因為現在只有空白活動注冊了 USB 連接意圖過濾器,所以默認情況下會在 USB 設備插件時啟動這個空白活動
在空白活動onCreate
,調用onBackPressed
以便一旦啟動空白活動,它會自動返回,並且因為這真的很快,所以用戶不應該意識到任何變化。
因此,當應用程序打開時,插入 USB 設備就像用戶沒有發生任何事情一樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.