141
记录下串口在线查看 Setting 等值的方法。
在代码中,我们常常需要获取、改变一些 android.provider.Settings 包下的系统参数,每次用代码获取和修改会费一点时间,在线修改则会很方便我们调试开发。
1.代码示例
简单代码示例如下,
import android.provider.Settings;
int soundEnable = Settings.System.getInt(getContentResolver(),
Settings.System.SOUND_EFFECTS_ENABLED);
int adbEnable = Settings.Global.getInt(getContentResolver(),
Settings.Global.ADB_ENABLED);
String inputMethodName = Settings.Secure.getInt(getContentResolver(),
Settings.Secure.DEFAULT_INPUT_METHOD);
某些变量值需要系统级应用才能获取,普通应用获取不到。
2.使用指令获取
方法就是,在 root 环境下执行 settings 命令,笔者是串口环境,
获取 Settings.System 的值,
执行 settings get system sound_effects_enabled ;
获取 Settings.Global 的值,
执行settings get global adb_enabled;
获取 Settings.Secure 的值,
执行 settings get secure user_setup_complete、
执行settings get secure default_input_method;
可以看出,格式为 settings get system/global/secure name ;
3.使用指令修改
修改 Settings.System 的值,
执行 settings put system sound_effects_enabled 0 ;
修改 Settings.Global 的值,
执行 settings put global adb_enabled 1 ;
修改 Settings.Secure 的值,
执行 settings put secure user_setup_complete 1 ;
可以看出,格式为 settings put system/global/secure name value ;
需要注意的是,指令里的 值 需要和代码里的对应上,如
/**
* Whether the sounds effects (key clicks, lid open ...) are enabled. The value is
* boolean (1 or 0).
*/
public static final String SOUND_EFFECTS_ENABLED = "sound_effects_enabled";
0