У меня есть приложение, которое создает уведомление со звуком при поступлении определенного текста. Для этого я определяю текущий режим ringerMode, изменяю режим ringerMode на нормальный, воспроизводю звук, а затем быстро возвращаю звонок в исходное состояние.установка.Вот код:
public static AudioManager audio;
audio = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
ringMode = audio.getRingerMode();
if (ringMode < 2)
//Checks to see if the phones ringer is set to silent, or vibrate
audio.setRingerMode(2);
//vibrates phone in a pattern
long[] pattern = {0, 25};
//long[] pattern = {0, 1000, 100, 100, 100, 100, 100, 1000};
v.vibrate(pattern, -1);
final int HELLO_ID = 1;
mNotificationManager.notify(HELLO_ID, notification);
//delays return back to original volume so notification can be heard
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
audio.setRingerMode(ringMode);
}
}, 4000);
}
Это прекрасно работает в деятельности, но не в этой службе уведомлений, и в настоящее время размещается в методе onStart.Использование-разрешение android: name = "android.permission.MODIFY_AUDIO_SETTINGS" также было добавлено в манифест.Есть идеи?Спасибо