gpt4 book ai didi

android - Android 5.0 (API 21) 中 AudioManager.setRingerMode() 的替代方案

转载 作者:可可西里 更新时间:2023-11-01 18:49:13 25 4
gpt4 key购买 nike

我使用 AudioManager.setRingerMode() 来处理我的应用程序中的设备音量:

  • AudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT) 关闭振动和声音。
  • AudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE) 关闭声音并打开振动。
  • AudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL) 打开声音和振动。

换句话说,我能够控制设备音量并达到所有“模式”。

但是,仅使用 AudioManager.setRingerMode 不可能处理 Android 5.0 中的所有设备音量模式。

根据 documentation :

Setting the device to RINGER_MODE_SILENT causes the device to enter the new priority mode. The device leaves priority mode if you set it to RINGER_MODE_NORMAL or RINGER_MODE_VIBRATE.

如何处理Android 5.0设备音量的所有模式(无、振动优先、声音优先、全部振动、全部声音)?

最佳答案

有了新的 5.0 API,有许多方法可用于设置铃声/振动。

setVibrate (long[] pattern)

此方法控制设备的振动。取一个 long,其中第一个值表示在打开 振动器 之前要等待的 毫秒数。更多详情:

http://developer.android.com/reference/android/os/Vibrator.html#vibrate(long[] , 整数)

http://developer.android.com/reference/android/app/Notification.Builder.html#setVibrate(long[])

setDefaults (int defaults)

这个设置通知属性,即 SOUNDVIBRATEALL 等。

来自文档:

The value should be one or more of the following fields combined with bitwise-or: DEFAULT_SOUND, DEFAULT_VIBRATE, DEFAULT_LIGHTS.

http://developer.android.com/reference/android/app/Notification.Builder.html#setDefaults (整数默认值)

希望这对您有所帮助。

关于android - Android 5.0 (API 21) 中 AudioManager.setRingerMode() 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27370897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com