Я создаю приложение для Android, которое включает телефон при поступлении входящего вызова в телефоне.
Я использую BroadcastReceiver
для получения событий входящих вызовов. Я переключаю телефон из в режиме отключения звука в Режим вызова при BroadcastReceiver
получении событий входящего вызова .
И ожидайте, что Телефон будет вибрировать и воспроизводить мелодию звонка .
Но только телефон вибрирует , не может воспроизводить рингтон, хотя на телефоне установлен максимальный уровень звука .
Я нашел много приложений в магазине, которые могут включать звук до звонка, воспроизводить мелодию звонка и вибрировать оба. Пример: Ссылка на одно приложение
Мой код ниже:
public void onReceive(Context context, Intent intent) {
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING);
if (intent.getAction()!=null && intent.getAction().equals("android.intent.action.PHONE_STATE")){
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)){
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
audioManager.setStreamVolume(AudioManager.STREAM_RING, maxVolume/2, AudioManager.FLAG_PLAY_SOUND);
}
}
}