这是我的代码,但它不起作用。
在设置活动中:
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(this, OnBootReceiver.class);
pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime()+1000,
pendingIntent);
在BroadcastReceiver中:
NotificationManager mgr = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
CharSequence from = "xyz";
CharSequence message = "Crazy About Android...";
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, new Intent(context, Settings.class), 0);
Notification notif = new Notification(R.drawable.icon, "Crazy About Android...", System.currentTimeMillis());
notif.setLatestEventInfo(context, from, message, contentIntent);
mgr.notify(1, notif);
答案 0 :(得分:0)
如果您尝试使用AlarmManager.RTC_WAKEUP
单位在1秒钟内开始您的意图,
您可能希望使用System.currentTimeMillis()
代替SystemClock.elapsedRealtime()
这里解释了不同之处:
http://developer.android.com/reference/android/os/SystemClock.html
AlarmManager.RTC_WAKEUP
必须与currentTimeMillis()
一起使用;
否则你可以使用标志:
AlarmManager.ELAPSED_REALTIME_WAKEUP
提供使用SystemClock.elapsedRealtime()
这里解释了标志:http://developer.android.com/reference/android/app/AlarmManager.html。