Android 11.0 默认开启USB调试功能

Android 11.0 默认开启USB调试功能

近来收到项目反馈需求想要默认开启USB调试功能,默认开启USB调试功能主要是在UsbDebuggingActivity.java文件中实现,具体修改参照如下:

/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/usb/UsbDebuggingActivity.java

        public void onReceive(Context content, Intent intent) {
            String action = intent.getAction();
            if (!UsbManager.ACTION_USB_STATE.equals(action)) {
                return;
            }
-            boolean connected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
+            boolean connected = false;
+            if (!connected) {
+                mActivity.finish();
+            }
+   	   try {
+		 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);
+			 }
        }

默认开启USB调试功能的话,USB调试的权限申请弹窗自然也要去

<think>好的,我现在需要帮助用户解决在特定设备和Android版本上使用ADB命令隐藏导航栏的问题。用户的设备是hzmct rk3586,Android 11 API 30。首先,我要回忆一下之前用户提供的引用内容,看看是否有相关信息。 引用[3]中提到,在Android 8.1中可以通过`adb shell wm overscan`命令调整overscan来隐藏导航栏。例如,输入`adb shell wm overscan 0,0,0,-130`,负值表示裁剪底部区域。不过,这个方法可能在不同Android版本上效果不同,特别是Android 11可能会有变化。因此,我需要确认这个方法在Android 11上是否仍然适用。 另外,引用[2]提到导航栏的显示与隐藏可以通过发送广播或修改系统UI的代码实现,但用户可能需要更简单的方法,比如ADB命令。所以,可能需要结合这两种方法。 首先,我应该建议用户尝试引用[3]中的`wm overscan`命令,因为这是直接通过ADB操作,不需要root权限,相对简单。但需要指出在Android 11上可能需要调整参数,比如-130可能需要改为其他数值,或者这个方法可能被限制。 如果`wm overscan`无效,可能需要其他方法,比如使用`adb shell settings put`来修改系统设置。例如,隐藏导航栏通常涉及`system navigation`设置,但不同厂商可能有不同的定制,特别是hzmct rk3586这类设备,可能使用自己的UI。因此,可能需要查找该设备特定的设置项。 另外,还可以考虑完全沉浸模式,使用`adb shell settings put global policy_control immersive.navigation=*`,这在某些版本上有效。但需要确认Android 11是否支持此命令。 用户可能需要先连接设备,启用USB调试,确保adb devices能识别设备。然后逐步尝试不同的命令,观察效果,如果无效再尝试其他方法。 还需要提醒用户,某些命令可能需要设备已root,或者adb具有足够权限。如果遇到权限问题,可能需要先执行`adb root`,但部分设备可能需要解锁bootloader或使用userdebug版本的系统。 总结步骤:1. 连接设备,确认adb可用;2. 尝试wm overscan命令;3. 如果无效,尝试修改全局设置或沉浸模式;4. 检查是否需要root权限;5. 提供恢复方法,确保用户能撤销更改。</think>根据Android 11的特性及设备兼容性,隐藏导航栏的ADB命令操作步骤如下: ### 方法一:通过`wm overscan`调整显示区域(通用性较强) 1. 连接设备并开启USB调试: ```bash adb devices # 确认设备连接成功[^3] ``` 2. 执行裁剪命令: ```bash adb shell wm overscan 0,0,0,-128 # 裁剪底部128像素(数值需实测调整) ``` - 参数含义:`左,上,右,下`,负值表示向内裁剪 - 测试建议:从`-100`逐步增加到`-150`观察效果 3. 恢复默认设置: ```bash adb shell wm overscan 0,0,0,0 ``` ### 方法二:沉浸模式命令(需系统支持) ```bash adb shell settings put global policy_control immersive.navigation=* ``` - 恢复默认: ```bash adb shell settings put global policy_control null ``` ### 方法三:修改系统属性(需要root权限) ```bash adb root # 获取root权限[^1] adb shell setprop persist.systemui.navigationbar.hidden 1 adb reboot # 重启生效[^1] ``` ### 设备特殊注意事项(hzmct rk3586) 1. 厂商可能定制导航栏逻辑,建议先检查系统设置中是否有"全屏手势"选项 2. 若上述命令无效,尝试组合命令: ```bash adb shell settings put secure navigation_bar_hide 1 adb shell am broadcast -a android.intent.action.NAVIGATION_BAR_VISIBILITY --ez state false ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jeffries_C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值