【问题标题】:How to Enable/Disable vibrate for calls and notifications in Android Lollipop?如何在 Android Lollipop 中启用/禁用来电和通知的振动?
【发布时间】:2015-08-17 13:01:16
【问题描述】:

这不适用于 Lollipop。

启用振动:

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,
            AudioManager.VIBRATE_SETTING_ON);
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,
            AudioManager.VIBRATE_SETTING_ON);

禁用振动:

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,
            AudioManager.VIBRATE_SETTING_OFF);
audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,
            AudioManager.VIBRATE_SETTING_OFF);

这将在 Kitkat 中发挥出色。

【问题讨论】:

  • 文档建议使用 getRingerMode(),但我不知道如何在实践中这样做:developer.android.com/reference/android/media/…
  • 此常量在 API 级别 16 中已弃用。 但在 Kitkat 中仍然可以正常工作。 我想在 Lollipop 中实现它。

标签: android android-5.0-lollipop android-audiomanager android-vibration android-5.1.1-lollipop


【解决方案1】:

您可以使用以下代码控制 Lollipop 上的振动:

Settings.System.putInt(getContentResolver(), "vibrate_when_ringing", vibrate?1:0);

您还需要将此权限添加到清单文件中:

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

但请注意,上述代码不允许您在电话响铃时更改振动。我猜电话应用程序会在响铃开始之前读取此设置,并使用它直到响铃停止。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-31
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    相关资源
    最近更新 更多