Я пытаюсь разработать приложение, которое прослушивает SMS и / или входящие звонки и отключает телефон и вибратор для определенных телефонных номеров, которые я зарегистрировал. У меня BroadcastRecievers
хорошо работает и работает, но я хочу отменить изменения громкости звонка и вибратора после того, как звонок или SMS были отключены.
public void onReceive(Context context, Intent intent) {
int vibrate = SoundVibration.getRingerMode(context);
int ringerMode = SoundVibration.getVibrateMode(context);
Bundle bundle = intent.getExtras();
Object[] pdus = (Object[])bundle.get("pdus");
SmsMessage message = SmsMessage.createFromPdu((byte[])pdus[0]);
Toast.makeText(context, String.valueOf(ringerMode), Toast.LENGTH_SHORT).show();
SoundVibration.setSilentNoVibration(context,AudioManager.RINGER_MODE_SILENT,AudioManager.VIBRATE_SETTING_OFF);
SoundVibration.setSilentNoVibration(context, ringerMode, vibrate);
}
Выше приведен мой onReceive
метод для SMS, когда я отключаю звонок и вибратор, а затем пытаюсь снова установить значения. Если сделать это, как в приведенном выше коде, звонок будет возвращаться назад до окончания onReceive
, что приведет к звуку.
Как можно вернуть значения обратно за пределы onReceive
(чтобы убедиться, что onReceive
закончился)?