Android 如何使用报警管理器计划通知
我已经定义了一个接收者,它应该在调用通知时触发通知。这只有在我直接给听筒打电话时才有效。 我无法安排具体日期Android 如何使用报警管理器计划通知,android,android-notifications,android-alarms,Android,Android Notifications,Android Alarms,我已经定义了一个接收者,它应该在调用通知时触发通知。这只有在我直接给听筒打电话时才有效。 我无法安排具体日期 Calendar c = Calendar.getInstance(); c.set(2014, 4, 18, 2, 20, 0); AlarmManager alarmManager = (AlarmManager) getApplicationContext().getSystemService(getBaseContext().ALARM_SERVICE); int id = (i
Calendar c = Calendar.getInstance();
c.set(2014, 4, 18, 2, 20, 0);
AlarmManager alarmManager = (AlarmManager) getApplicationContext().getSystemService(getBaseContext().ALARM_SERVICE);
int id = (int) System.currentTimeMillis();
Intent intent = new Intent(this, TimeAlarm.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pendingIntent);
这是我的接收机等级:
public class TimeAlarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent paramIntent) {
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Intent intent = new Intent("android.intent.action.VIEW");
intent.setData(Uri.parse("http://www.sdfasdf.ch"));
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// Create the notification
Notification notification = new Notification(R.drawable.android_anydont_logo, "sdfs", System.currentTimeMillis());
notification.setLatestEventInfo(context, "something something", "darkside",pendingIntent);
// Fire the notification
notificationManager.notify(1, notification);
}
}
这是清单中的定义:
receiver
android:name="com.hack.doneit.utils.TimeAlarm"
android:process=":remote" />
我的问题是,我无法设置警报,以便在将来的特定时间触发接收器。特定的一天就足够了。问题在于您设置的
月值。我相信您认为月份<代码>四月代码>的值是4。月份的值从0开始,因此四月将是3
将月份代码更改为日历。四月
或将值设置为3
c.set(2014, Calendar.APRIL, 17, 20, 43, 0);
这应该行得通。除此之外,你的代码是完美的
注意:您正在使用已弃用的API的通知。使用通知生成器
我的答案有效吗?