Platform: RK3399
OS: Android 7.1
Kernel: v4.4.83
現象:
問題一:
每次插上USB列印機會彈出以下權限框
問題二:
開機後主動打開列印機demo,預設沒有權限操作USB列印機
解決方法:
問題一對應方法:
diff --git a/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java b/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java
index 3eccccd..18130ab 100644
--- a/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java
@@ -99,6 +99,11 @@ public class UsbConfirmActivity extends AlertActivity
setupAlert();
+ //Kris, 190506, Release usb permission to app.
+ if (mResolveInfo.activityInfo.packageName.substring(0,11).equals("com.xxx")) {
+ onClick(this, AlertDialog.BUTTON_POSITIVE);
+ }
}
問題二對應方法:
@Override
diff --git a/services/usb/java/com/android/server/usb/UsbSettingsManager.java b/services/usb/java/com/android/server/usb/UsbSettingsManager.java
index de9ede3..337ffcf 100644
--- a/services/usb/java/com/android/server/usb/UsbSettingsManager.java
+++ b/services/usb/java/com/android/server/usb/UsbSettingsManager.java
@@ -999,6 +999,10 @@ class UsbSettingsManager {
}
public boolean hasPermission(UsbDevice device) {
+
+//Kris, 190506, Release usb permission to benebot app.
+ return true;
+/*
synchronized (mLock) {
int uid = Binder.getCallingUid();
if (uid == Process.SYSTEM_UID || mDisablePermissionDialogs) {
@@ -1010,6 +1014,7 @@ class UsbSettingsManager {
}
return uidList.get(uid);
}
+*/
}
public boolean hasPermission(UsbAccessory accessory) {
相關原理可參考 [RK3399][Android7.1] USB裝置權限申請控制流程小結
參考:
Android7.1去掉USB權限彈窗
Android繞過usb主機permision确認對話框framework修改方案