0

我正在开发一个android 应用程序,其中我需要从另一个BroadcastReceiver 的onReceive 调用Alarmmanager 的onReceive 方法,即Internet 连接。可能吗 ?或者我应该在另一个广播接收器中复制我所有的东西吗?

4

2 回答 2

1

您可以从 onReceive 创建一个新意图来触发另一个广播接收器

@Override
public void onReceive(Context context, Intent intent) {
    Intent newIntent = new Intent("com.domain.yourboardcastreceiver");
    context.sendBroadcast(newIntent);
}
于 2016-11-26T07:40:58.600 回答
0

在 Internet 连接广播接收器的 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);
}

不要忘记在清单文件中注册警报管理器的接收器。

希望能帮助到你 !

于 2016-11-26T07:46:41.350 回答