[英]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.