BroadcastReceiver завершен - PullRequest
0 голосов
/ 31 марта 2012

Я пытаюсь разработать приложение, которое прослушивает 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 закончился)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...