创建多个警报?

时间:2015-06-29 17:38:51

标签: android

尝试使用唯一PendingIntent创建多个警报。但是我遇到了麻烦,

从MainActivity我按下按钮设置闹钟,其代码为:

public void alarmSet(View view)
{
    int idTime = (int) System.currentTimeMillis();
    Intent intent = new Intent(MainActivity.this, AddAlarm.class);
    intent.putExtra("pendInt",idTime);
    startActivity(new Intent(MainActivity.this, AddAlarm.class));
}

将系统时间作为唯一ID我将值传递给我调用广播以启动警报的其他活动。此活动的代码是:

Intent receive = getIntent();

pen = receive.getIntExtra("pendInt",0);

这是我设置闹钟的方法。

private void setAlarm(Calendar targetCal)
{


    Intent alarmintent = new Intent(AddAlarm.this, AlarmReceiver.class);
    PendingIntent sender = PendingIntent.getBroadcast(AddAlarm.this, pen, alarmintent, PendingIntent.FLAG_ONE_SHOT);
    AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
    alarmManager.set(AlarmManager.RTC_WAKEUP, targetCal.getTimeInMillis(), sender);


}

这适用于单个警报,但它不会生成多个警报。可能的原因是什么?任何帮助将不胜感激。我是否也需要发布Broadcast类?

1 个答案:

答案 0 :(得分:0)

您正在制作Intent并提出额外费用,但将另一个Intent传递给startActivity() 只需替换这个

startActivity(new Intent(MainActivity.this, AddAlarm.class));

到这个

startActivity(intent );