【发布时间】:2014-03-21 11:43:08
【问题描述】:
是否可以通过编程方式获取 Android 中的各种触摸设置,例如:
-> 拨号盘按键音
-> 触摸声音
-> 锁屏声音
-> 触摸振动
我已尝试访问 System.Settings 中的各种常量,但我没有看到有关触摸设置的常量。谁能向我提供有关我可以用于此目的的 API 或常量的信息?
【问题讨论】:
是否可以通过编程方式获取 Android 中的各种触摸设置,例如:
-> 拨号盘按键音
-> 触摸声音
-> 锁屏声音
-> 触摸振动
我已尝试访问 System.Settings 中的各种常量,但我没有看到有关触摸设置的常量。谁能向我提供有关我可以用于此目的的 API 或常量的信息?
【问题讨论】:
使用以下检查
-> 拨号盘按键音:
boolean isDtmfToneEnabled = Settings.System.getInt(contentResolver,
Settings.System.DTMF_TONE_WHEN_DIALING, 1) != 0;
-> 触摸声音:
boolean isTouchSoundsEnabled = Settings.System.getInt(contentResolver,
Settings.System.SOUND_EFFECTS_ENABLED, 1) != 0;
->锁屏声:
boolean islockScreenSoundsEnabled = Settings.System.getInt(contentResolver,
"lockscreen_sounds_enabled", 1) != 0;
-> 触摸振动:
boolean isVibrateOnTouchEnabled = Settings.System.getInt(contentResolver,
Settings.System.HAPTIC_FEEDBACK_ENABLED, 1) != 0;
您可以使用putInt() API 来更改它们的值。 希望这会有所帮助。
【讨论】:
禁用振动触摸:
boolean isVibrateOnTouchEnabled = Settings.System.getInt(getContentResolver(),
Settings.System.HAPTIC_FEEDBACK_ENABLED, 1) != 0;
if(isVibrateOnTouchEnabled) {
Settings.System.putInt(getContentResolver(), Settings.System.HAPTIC_FEEDBACK_ENABLED, 0);
Toast.makeText(MainActivity.this, "Vibration touch Off", Toast.LENGTH_SHORT).show();
}
【讨论】:
禁用屏幕锁定声音:
boolean islockScreenSoundsEnabled = Settings.System.getInt(getContentResolver(),
"lockscreen_sounds_enabled", 1) != 0;
if(islockScreenSoundsEnabled) {
Settings.System.putInt(getContentResolver(),"lockscreen_sounds_enabled", 0);
}
【讨论】: