У меня есть приложение, которое запускает уведомление в определенное время, пользователь может выбрать мелодию звонка для уведомления, когда я перевел телефон в режим отключения звука и экран был выключен, уведомление не вибрировало, но когда экран был включен, он вибрировал даже когда у меня был телефонный звонок, когда я изменил режим телефона на звук и позвонил, уведомление не издавало звук, а вибрировало, хотя у меня есть телефонный звонок, как это исправить? Я имею в виду: это нормально, потому что это нормально, я думаю, что я должен проверить состояние телефона, и если он звонил, я должен отключить вибрацию уведомления ... потому что это мое первое приложение, и мне нужно знать что мне нужно сделать, чтобы уведомление не вызывало проблем... спасибо.
Уведомление вибрирует, когда экран включен, даже когда я разговариваю по телефону
Ответы (1)
Что я сделал:
listener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
stateString = "Idle";
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
stateString = "Off Hook";
break;
case TelephonyManager.CALL_STATE_RINGING:
stateString = "Ringing";
break;
}
create_notification(notif_title,notif_body);
}
};
telephonyManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
switch( audio.getRingerMode() ){
case AudioManager.RINGER_MODE_NORMAL:
modeString="normal";
break;
case AudioManager.RINGER_MODE_SILENT:
modeString="silent";
break;
case AudioManager.RINGER_MODE_VIBRATE:
modeString="vibrate";
break;
}
if(bool_activate_vibrate==true && stateString=="Idle" && modeString!="silent"){
Vibrator v = (Vibrator) c.getSystemService (Context.VIBRATOR_SERVICE);
v.vibrate(2000);
}
person
Learning Android
schedule
29.12.2013