Как использовать LocalBroadcastManager для AlarmManager - PullRequest
0 голосов
/ 04 мая 2019

Могу ли я использовать AlarmManager с LocalBroadcastManager на Android

Я хочу работать на примере головы в 12 часов

Я написал этот код, но он не запускается?

код

  @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    setRecurringAlarm(this);

   LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,
   new IntentFilter("custom-event-name"));


}
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // Get extra data included in the Intent
        String message = intent.getStringExtra("message");
        Toast.makeText(MainActivity.this, "AlarmManager2", Toast.LENGTH_SHORT).show();
    }
};
private void setRecurringAlarm(Context context) {

    Calendar updateTime = Calendar.getInstance();
    //updateTime.setTimeZone(TimeZone.getTimeZone("GMT+5:00"));
    updateTime.setTimeZone(java.util.TimeZone.getTimeZone("GMT+5:00"));
    updateTime.set(Calendar.HOUR_OF_DAY, 12);
    updateTime.set(Calendar.MINUTE,2);
    updateTime.set(Calendar.SECOND,10);

    Intent intent = new Intent(context, MainActivity.class);
    PendingIntent recurringDownload = PendingIntent.getBroadcast(context, 0, intent,
            PendingIntent.FLAG_UPDATE_CURRENT);
    AlarmManager alarms = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

    alarms.setInexactRepeating(AlarmManager.RTC_WAKEUP, updateTime.getTimeInMillis(), AlarmManager.INTERVAL_DAY,
            recurringDownload);

}
...