静音和振动都属于来电后的动作.所以在设置静音和振动时都只是设置一些标识,并往数据库写入相应标识.
  文件:packages/apps/settings/src/com/Android/settings/SoundAndDisplaySettings.Java

java代码:

  1. private CheckBoxPreference mSilent;
  2. private CheckBoxPreference mVibrate;
  3. private void setRingerMode(boolean silent, boolean vibrate) {
  4. if (silent) {
  5. mAudioManager.setRingerMode(vibrate ? AudioManager.RINGER_MODE_VIBRATE :
  6. AudioManager.RINGER_MODE_SILENT);
  7. } else {
  8. mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
  9. mAudioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,
  10. vibrate ? AudioManager.VIBRATE_SETTING_ON
  11. : AudioManager.VIBRATE_SETTING_OFF);
  12. }
  13. }
  14. public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
  15. if (preference == mSilent || preference == mVibrate) {
  16. setRingerMode(mSilent.isChecked(), mVibrate.isChecked());
  17. if (preference == mSilent) updateState(false);
  18. }


       静音和振动是复选框按钮,两个中有一个发生变化时调用setRingerMode对状态进行设置;如下状态描术:
  RINGER_MODE_SILENT 静音,且无振动
  RINGER_MODE_VIBRATE 静音,但有振动
  RINGER_MODE_NORMAL 正常声音,振动开关由setVibrateSetting决定.
  铃响模式的设置是通过mAudioManager(音频管理器)来实现的.

相关文章:

  • 2021-09-30
  • 2022-12-23
  • 2022-01-02
  • 2021-11-11
  • 2021-05-18
  • 2022-12-23
  • 2022-12-23
  • 2021-07-07
猜你喜欢
  • 2021-08-30
  • 2022-01-23
  • 2022-02-12
  • 2022-01-08
  • 2021-11-08
  • 2022-12-23
  • 2021-11-09
相关资源
相似解决方案