以下代码将每5秒重复一次警报。但我希望这个闹钟在60秒后被取消。
AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, CrawlAlarm.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
am.setRepeating(AlarmManager.RTC, System.currentTimeMillis(), 1000 * 5, pi); // Millisec * Second * Minute
答案 0 :(得分:3)
AlarmManager am=(AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, CrawlAlarm.class);
final PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
am.setRepeating(AlarmManager.RTC, System.currentTimeMillis(), 1000 * 5, pi); // Millisec * Second * Minute
Handler mHandler = new Handler();
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
am.cancel(pi);
}
}, 60 * 1000);
这将在60秒后取消。