尝试使用唯一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类?
答案 0 :(得分:0)
您正在制作Intent
并提出额外费用,但将另一个Intent
传递给startActivity()
只需替换这个
startActivity(new Intent(MainActivity.this, AddAlarm.class));
到这个
startActivity(intent );