Как позвонить по приему от по приему другого BroadcastReceiver в Android?

Я занимаюсь разработкой одного приложения для Android, в котором мне нужно вызвать метод AlarmReager onReceive из onReceive другого BroadcastReceiver, то есть подключения к Интернету. Является ли это возможным? Или я должен дублировать все свои вещи в другом BroadcastReceiver?

2 ответа

Вы можете создать новое намерение из onReceive для запуска другого широковещательного приемника.

@Override
public void onReceive(Context context, Intent intent) {
    Intent newIntent = new Intent("com.domain.yourboardcastreceiver");
    context.sendBroadcast(newIntent);
}

В методе OnReceive(..) приемника широковещательного подключения к Интернету вы можете установить сигнал тревоги, и именно так будет срабатывать диспетчер сигналов тревоги, например:

@Override
public void onReceive(Context context, Intent intent) {
    Intent myIntent = new Intent(getBaseContext(), **AlarmReceiver**.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), 0, myIntent, 0);
    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());
    alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}

Не забудьте зарегистрировать приемник alarm manager в вашем файле манифеста.

Надеюсь, поможет!

Другие вопросы по тегам