一、当插入usb camera设备的时候,会调出一个权限申请窗口和询问是否默认打开app对话框,如下图。
二、去掉这两个对话框的方法,默认赋予权限。
1、去掉权限申请对话框,默认赋予权限,下面只开发JHS558这个app
diff --git a/packages/SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java b/packages/SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java
old mode 100644
new mode 100755
index 98b4209..96c4432
--- a/packages/SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java
@@ -134,7 +134,12 @@ public class UsbPermissionActivity extends AlertActivity
mClearDefaultHint.setVisibility(View.GONE);
}
- setupAlert();
+ if(appName.equals("JHS558") && mPackageName.equals("com.giada.jhs558")){
+ mPermissionGranted = true;
+ finish();
+ Log.i(TAG, appName+" mPackageName "+mPackageName+"the giada app,no need to show permission dialog");
+ }else
+ setupAlert();
}
2、去掉handle 对话框
diff --git a/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java b/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java
old mode 100644
new mode 100755
index 21d700e..1c83dda
--- a/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/usb/UsbConfirmActivity.java
@@ -121,7 +121,12 @@ public class UsbConfirmActivity extends AlertActivity
com.android.internal.R.id.clearDefaultHint);
mClearDefaultHint.setVisibility(View.GONE);
}
- setupAlert();
+
+ if(appName.equals("JHS558") && mResolveInfo.activityInfo.packageName.equals("com.giada.jhs558")){
+ finish();
+ Log.i(TAG, "appName:"+appName+" packageName:"+mResolveInfo.activityInfo.packageName+" no need to show confirm dialog!");
+ }else
+ setupAlert();
三、测试ok
四、参考文章
Android系统插入USB设备自动授权不弹出对话框_gogo_wei的博客-CSDN博客Android系统插入USB设备时,系统会弹出询问权限的对话框,现在需要不弹对话框而直接授权。修改/frameworks/base/packages/SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java ,直接注释setupAlert()方法,并将mPermissionGranted设为true即可。...https://blog.csdn.net/gogo_wei/article/details/79726752?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-79726752-blog-94022767.t5_layer_eslanding_A_0&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-79726752-blog-94022767.t5_layer_eslanding_A_0&utm_relevant_index=1Android定制:去掉USB权限弹窗_ropphy的博客-CSDN博客引言当我们在访问一个插入到Android系统的USB设备的时候往往是需要权限的,此时系统会弹出询问权限的对话框,而我们此时希望让它默认允许访问USB设备并且不希望用户看到这个对话框。源码:非官方Android5.1源码描述我们在获取UsbManager和UsbDevice/UsbAcessory之后,首先需要检查是否对这个USB设备/附件有操作的权限,如果没有权限,则需要向系统申请(系统会弹出询问权https://blog.csdn.net/godiors_163/article/details/72526792android 过滤usb弹窗,android10.0 USB弹窗权限流程解析_今天数学学点啥的博客-CSDN博客USB请求权限流程 USB请求权限流程1. 新建activity,获取UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE)2. 获取所以的USB设备HashMap map = usbManager.getDeviceList()3. 过滤别的USB设备,拿到自己USB的USBDevice类,然后请求US...https://blog.csdn.net/weixin_31841431/article/details/117348618