介绍
由于客户在产线测试时觉得连接USB时每个机器都要点击弹框授予权限,觉得非常麻烦决定去掉USB调试时出现的授权弹框。
修改
实际上这个弹框是SystemUI中UsbPermissionActivity弹出的,在onCreate中注释掉 setupAlert(),将mPermissionGranted=true并关闭。
路径:vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/usb/UsbPermissionActivity.java
//*/soda water.20230921 usb license
mPermissionGranted = true;
finish();
/*/
setupAlert();
//*/soda water.20230921 usb license end
修改:UsbDisconnectedReceiver中USB的监听
路径:vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/usb/UsbDebuggingActivity.java
private class UsbDisconnectedReceiver extends BroadcastReceiver {
private final Activity mActivity;
public UsbDisconnectedReceiver(Activity activity) {
mActivity = activity;
}
@Override
public void onReceive(Context content, Intent intent) {
String action = intent.getAction();
if (!UsbManager.ACTION_USB_STATE.equals(action)) {
return;
}
//*/soda water.20230921 usb license
boolean connected = false;
/*/
boolean connected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
//*/
if (!connected) {
mActivity.finish();
}
try {
//*/soda water.20230921 usb license
IBinder b = ServiceManager.getService(ADB_SERVICE);
IAdbManager service = IAdbManager.Stub.asInterface(b);
service.allowDebugging(true, mKey);
} catch (Exception e) {
Log.e(TAG, "Unable to notify Usb service", e);
}
//*/
}
}