Android设置具有唯一ID的闹钟

Karthik Sharma:

在我的应用程序中,我使用多个警报管理器,并且它们都工作正常。现在,我的应用程序还需要两件事:

  • 为每个alarmManager设置一个ID,以便我可以在广播接收器中识别此警报

  • 使用此ID稍后取消警报

我设置警报的代码

    Calendar cal1 = Calendar.getInstance();
    cal1.set(Calendar.HOUR_OF_DAY, h1);
    cal1.set(Calendar.MINUTE, m1+30);
    cal1.set(Calendar.SECOND, 00);

    Intent intent = new Intent(context, YourBroadCastReceiver.class);


    // Add Some unique ID here for e.g "SFSF43535"
    PendingIntent openAlarm = PendingIntent.getBroadcast(context, 0, intent, 0);
     // Add Some unique ID here for e.g "SFSf87sfs"
    PendingIntent CloseAlarm = PendingIntent.getBroadcast(context, 0, intent, 0);

    AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);

    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
                      cal1.getTimeInMillis(), DateUtils.DAY_IN_MILLIS, openAlarm);

   alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
                      cal1.getTimeInMillis(), DateUtils.DAY_IN_MILLIS, CloseAlarm);

YourBroadCastReceiver(在此我需要该唯一ID)

  @Override
    public void onReceive(Context context, Intent intent) {
       // Get Unique id here to find some data related to that alram 
    }
JensV:

您可以向Intent其中添加其他功能,这些功能将被传递:

Intent intent = new Intent(context, YourBroadCastReceiver.class);
intent.putExtra("id", "somerandomID");

然后将多余的钱退回接收器:

public void onReceive(Context context, Intent intent) {
      String id = intent.getStringExtra("id");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章