单个警报管理器可以在2个不同的时间间隔触发,例如第一个间隔应该是1分钟,第二个间隔应该是2分钟
我正在尝试使用以下代码,但它无法正常工作:(
{
AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
intent.putExtra(ONE_TIME, Boolean.FALSE);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 60 *x, pi);
}
//Initialized x=1;
//In onReceive what i did was...
public void onReceive(Context context, Intent intent) {
if(x===1)
x=2;
else
x=1;
}
这是错的吗?
答案 0 :(得分:0)
来自Google开发者文档
BroadcastReceiver对象仅在调用toonReceive(Context,Intent)期间有效。一旦您的代码从此函数返回,系统会认为该对象已完成且不再有效。
因此,您的x将始终为1.使x变量保持静态。