- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
根据document ,
getRingerMode() returns the current ringtone mode, one of RINGER_MODE_NORMAL, RINGER_MODE_SILENT, or RINGER_MODE_VIBRATE.
但是应该有4种模式吧?
声音打开,振动关闭:我怎么知道设置是这个?
声音开启,振动开启:RINGER_MODE_NORMAL
声音关闭,振动关闭:RINGER_MODE_SILENT
关闭声音,打开振动:RINGER_MODE_VIBRATE
请帮帮我。谢谢。
最佳答案
您可以将铃声方法设置为 RINGER_MODER_NORMAL(声音和振动开启),并将振动设置分别设置为 VIBRATE_SETTING_OFF(完全关闭振动)或 VIBRATE_SETTING_ONLY_SILENT。(仅在静音模式下振动),如下所示:
要关闭铃声振动:
setVibrateSetting (AudioManager.VIBRATE_TYPE_RINGER,AudioManager.VIBRATE_SETTING_OFF)
要关闭通知振动:
setVibrateSetting (AudioManager.VIBRATE_TYPE_NOTIFICATION,AudioManager.VIBRATE_SETTING_OFF)
更新:通过
获取当前音频模式的状态 if(getRingerMode ()==AudioManager.RINGER_MODE_NORMAL)
{ if((getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER))==AudioManager.AudioManager.VIBRATE_SETTING_OFF){
Log.d("Ringer Mode is":"ring with no vibraion")
}
else{
Log.d("Ringer Mode is":"ring with vibraion")
}
else if(getRingerMode ()==AudioManager.RINGER_MODE_SILENT){
if((getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER))==AudioManager.AudioManager.VIBRATE_SETTING_OFF){
Log.d("Ringer Mode is":"Silent with no vibraion")
}
else{
Log.d("Ringer Mode is":"Silent with vibraion")
}
}
else{
Log.d("Ringer Mode is":"Silent with vibraion")
}
在Docs据说 RINGER_MODE_SILENT 模式将覆盖振动设置。
PS:根据 DOC get/setVibrateSetting()** 方法在 API 级别 16 中被**弃用。注意:我还没有测试代码。
关于android - 为什么 AudioManager.getRingerMode() 只返回 3 种模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28982818/
根据document , getRingerMode() returns the current ringtone mode, one of RINGER_MODE_NORMAL, RINGER_MO
我收到一个错误报告,声音在运行 3.0 的 ASUS Transformer 平板电脑上不起作用。 我没有做任何太奇怪的事情,只是使用 MediaPlayer,它似乎适用于各种手机。但是,我使用了 t
我是一名优秀的程序员,十分优秀!