下午好。我想在17:00收到通知。我正在使用Notification和AlarmManager,但它不起作用。
LoginActivity中的OnCreate(它在应用启动时调用)
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, 12);
calendar.set(Calendar.YEAR, 2013);
calendar.set(Calendar.DAY_OF_MONTH, 3);
calendar.set(Calendar.HOUR_OF_DAY, 17);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 13);
calendar.set(Calendar.AM_PM, Calendar.PM);
Intent myIntent = new Intent(LoginActivity.this, MyReceiver.class);
pendingIntent = PendingIntent.getBroadcast(LoginActivity.this, 0,myIntent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC, calendar.getTimeInMillis(), pendingIntent);
MyReceiver:
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent service1 = new Intent(context, MyAlarmService.class);
context.startService(service1);
}
}
MyAlarmService
public class MyAlarmService extends Service {
private NotificationManager mManager;
@Override
public IBinder onBind(Intent intent) { return null; }
@Override
public void onCreate() { super.onCreate(); }
@Override
public void onDestroy() { super.onDestroy(); }
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
super.onStartCommand(intent, flags, startId);
mManager = (NotificationManager) this.getApplicationContext().getSystemService(this.getApplicationContext().NOTIFICATION_SERVICE);
Intent intent1 = new Intent(this.getApplicationContext(), LoginActivity.class);
Notification notification = new Notification.Builder(this.getApplicationContext()).
setContentTitle("Texter").setContentText("OK").setSmallIcon(R.drawable.ic_launcher).build();
intent1.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingNotificationIntent = PendingIntent.getActivity(this.getApplicationContext(), 0, intent1, PendingIntent.FLAG_UPDATE_CURRENT);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
mManager.notify(0, notification);
return startId;
} }
在清单
中 <service android:name=".MyAlarmService"
android:enabled="true"></service>
<receiver android:name=".MyReceiver"></receiver>
感谢。
答案 0 :(得分:1)
你应该设置:
calendar.set(Calendar.MONTH,11); 要么 calendar.set(Calendar.MONTH,Calender.DECEMBER);
月份的编号从0开始