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.javaindex 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);+        }      } 

问题二对应方法:

     @Overridediff --git a/services/usb/java/com/android/server/usb/UsbSettingsManager.java b/services/usb/java/com/android/server/usb/UsbSettingsManager.javaindex 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修改方案

更多相关文章

  1. ddroid 6.0权限管理开发
  2. android 6.0权限
  3. (转载)不需要任何权限获得Android设备的唯一ID
  4. android之AndroidManifest.xml简述
  5. Selinux的权限以及使用
  6. android sdcard read-only file system 的解决办法
  7. Android(安卓)7.0 SEAndroid(安卓)app权限配置
  8. Android4.1.1下关于采用File.createTempFile创建的临时文件存放
  9. Android(安卓)个推 Clientid,PushManagerReceiver

随机推荐

  1. Android(安卓)RecyclerView DividerItemD
  2. Android™ 2.1系统图标
  3. android:maxLines与android:ellipsize冲
  4. Android自定义权限
  5. android收货地址整理
  6. Android(安卓)TextView 如何判断是否已经
  7. Android(安卓)UI线程和非UI线程
  8. Android7.0中文文档(API) -- ActionMenuVie
  9. 打android的patch
  10. 基于Android官方Paging Library的Recycle