如何使用多个唯一ID以确切的间隔设置多个重复警报?

时间:2016-10-25 06:37:30

标签: android android-intent android-pendingintent android-dialog android-alarms

  

事实是,我需要注册一个用户,为他/她设置两个警报,间隔为30分钟和4个小时。我设置了3到4分钟的间隔进行测试。我应该使用Dialouge Activity来显示警报以获得一些输入。我面临的问题如下:

     
      
  1. 当有多个用户并且有相应的警报(两者)时,警报显示分散。
  2.   
  3. 过了一会儿,只显示最新用户警报。
  4.   
  5. 即使在一段时间后,只有一个用户的一个警报只显示。
  6.   
  7. 突然,Dialouge活动显示错误以设置样式“Theme.AppTheme”
  8.         

    待定意图:

  Intent alarmIntent4 = new Intent(Settings.this, AlarmReceiver.class).putExtra("id", id4);
    PendingIntent pendingIntent4 = PendingIntent.getBroadcast(Settings.this, Integer.parseInt
                    (id + "4"),
            alarmIntent4, 0);
    AlarmManager manager4 = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    manager4.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),
            4 * 60 * 60 * 1000,
            pendingIntent4);

    Intent alarmIntent30 = new Intent(Settings.this, AlarmReceiver.class).putExtra("id", id30);
    PendingIntent pendingIntent30 = PendingIntent.getBroadcast(Settings.this, Integer.parseInt
                    (id + "3"),
            alarmIntent30, 0);
    AlarmManager manager30 = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    manager30.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 30 * 60 * 1000,
            pendingIntent30);
  

警报接收器:

  Toast.makeText(context, "I'm running", Toast.LENGTH_SHORT).show();
    Vibrator v = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
    // Vibrate for 500 milliseconds
    v.vibrate(500);

    String id = intent.getStringExtra("id");
    Intent i = new Intent(context,DialogActivity.class).putExtra("id",id);
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
  

My Dialouge Activity Class。   我知道关于比Lollipop更高版本的确切或不精确警示事实的事情。但我需要解决上面提到的问题。请帮忙。

0 个答案:

没有答案