簡體   English   中英

作為設備所有者授予 USB 權限

[英]Grant USB permissions as device owner

設備所有者可以使用DevicePolicyManager.setPermissionGrantState()向第三方應用授予運行時權限以避免用戶提示。

但是,設備所有者是否也可以授予USB 權限,以便該應用程序無需用戶提示即可訪問插入的 USB 設備?

我試圖調用UsbManager.grantPermission() (帶反射),但它引發了SecurityException因為它需要MANAGE_USB權限,該權限僅授予系統應用程序(顯然不是設備所有者)。

注意:我正在尋找一種適用於非 root 和非自定義 Android 系統的解決方案,設備所有者應用程序是使用Android Enterprise 配置方法設置的

有一個特殊的系統配置來禁用 USB 權限對話框: https : //github.com/aosp-mirror/platform_frameworks_base/blob/8ff4a5a5b510e724b25ac00369696594bb0c9fdc/core/res/res/values/config.xml#L2283

也許您也可以在運行時使用 setprop 以 root 權限更改它。

另一種方法是自定義 UsbUserSettingsManager 類,特別是這個方法: https ://android.googlesource.com/platform/frameworks/base.git/+/master/services/usb/java/com/android/server/usb/UsbUserSettingsManager .java#178

我假設作為設備所有者,您可以完全控制您的 ROM 源代碼。

它有點舊,但希望它有幫助。 我一直在使用它來授予應用程序權限

public boolean setPermissionGrantState (ComponentName admin, 
                String packageName, 
                String permission, 
                int grantState)

鏈接: https : //developer.android.com/reference/android/app/admin/DevicePolicyManager#setPermissionGrantState(android.content.ComponentName,%20java.lang.String,%20java.lang.String,%20int)

暫無
暫無

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

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