勾选USB调试后关闭开发者选项后退出再进入开发者选项为打开状态
时间:10-02
整理:3721RD
点击:
【 DESCRIPTION 】
勾选USB调试后关闭开发者选项后退出再进入开发者选项为打开状态
【SOLUTION】
Developer options的总开关会在进入developer options的时候去做这样的一个判断:
是否所有的developer options选项都被关闭,若没有,就会重新开启developer options总开关;
所以若是想要总开关成功关闭,需要先关掉所有的developer选项,然后再关闭总开关才能生效。
相关代码:DevelopmentSettings.Java onResume()
if (mHaveDebugSettings && !mLastEnabledState) {
// Overall debugging is disabled, but there are some debug
// settings that are enabled. This is an invalid state. Switch
// to debug settings being enabled, so the user knows there is
// stuff enabled and can turn it all off if they want.
Settings.Global.putInt(getActivity().getContentResolver(),
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
mLastEnabledState = true;
mEnabledSwitch.setChecked(mLastEnabledState);
setPrefsEnabledState(mLastEnabledState);
}
此为google 原生设计。
勾选USB调试后关闭开发者选项后退出再进入开发者选项为打开状态
【SOLUTION】
Developer options的总开关会在进入developer options的时候去做这样的一个判断:
是否所有的developer options选项都被关闭,若没有,就会重新开启developer options总开关;
所以若是想要总开关成功关闭,需要先关掉所有的developer选项,然后再关闭总开关才能生效。
相关代码:DevelopmentSettings.Java onResume()
if (mHaveDebugSettings && !mLastEnabledState) {
// Overall debugging is disabled, but there are some debug
// settings that are enabled. This is an invalid state. Switch
// to debug settings being enabled, so the user knows there is
// stuff enabled and can turn it all off if they want.
Settings.Global.putInt(getActivity().getContentResolver(),
Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
mLastEnabledState = true;
mEnabledSwitch.setChecked(mLastEnabledState);
setPrefsEnabledState(mLastEnabledState);
}
此为google 原生设计。