即使我重新启动Android手机,如何设置即将关闭的闹钟?

我一直在搜索这个网站,并找到了一些与设置闹钟相关的答案.我已成功设置闹钟.

我所做的是:

>从一项活动中我设置了一个警报,在某个时间和日期将呼叫接收者
>从接收器我叫服务
>从服务中我向用户发送通知(在通知栏上).

我的问题是:

>我从现在起5分钟后发出警报.假设我关掉手机并将其重新打开(似乎忘记了警报).我怎样才能防止这种情况发生?
>我真的需要拨打服务来发送通知,还是可以通过接收方进行通知?

以下是上一节(a)中引用的代码:

Intent intent = new Intent(MyActivity.this,
  AlarmReceiver.class);
intent.putExtra("alarm_message", "Something");

PendingIntent mAlarmSender;

mAlarmSender = PendingIntent.getBroadcast(
  MyActivity.this, 0, intent, 0);

// We want the alarm to go off 30 seconds from now.
long alarmTime = dateMgmt.getTimeForAlarm(pickedDate);

                            // Schedule the alarm!
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, alarmTime + 15000,
    mAlarmSender);

这是上一节(b)中引用的代码:

 @Override
 public void onReceive(Context context, Intent intent) {
  try {
   Bundle bundle = intent.getExtras();
   String message = bundle.getString("alarm_message");
   Intent newIntent = new Intent(context, MyService.class);
   context.startService(newIntent);

  } catch (Exception e) {
   Toast
     .makeText(
       context,
       "There was an error somewhere, but we still received an alarm",
       Toast.LENGTH_SHORT).show();
   e.printStackTrace();

  }

这是前一节(c)中引用的代码:

 @Override
 public void onCreate() {
  super.onCreate();
  nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
  showNotification();
 }

最佳答案 您无需调用服务来发送通知,您可以从接收方执行此操作.

我不认为有一种方法可以在断电后保存闹钟.
我会怎么做:

> Start a service at boot.
>检查是否需要解决警报.

请注意,您需要在某处保存警报信息.检查Android的Data-storage.

点赞