Как позвонить по приему от по приему другого 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 в вашем файле манифеста.
Надеюсь, поможет!