Per programmare la notifica locale è necessario conoscere alcune delle cose che vengono utilizzati per programmare la notifica come
BroadcastReceivers IntentFilters AlarmManager NotificationService PendingIntent
Nel MainActivity effettuare le seguenti operazioni
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent notificationIntent = new Intent("android.media.action.DISPLAY_NOTIFICATION");
notificationIntent.addCategory("android.intent.category.DEFAULT");
PendingIntent broadcast = PendingIntent.getBroadcast(this, 100, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.SECOND, 15);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), broadcast);
}
Il codice sopra programmerà un allarme dopo 15 secondi. Dopo 15 secondi trasmetterà la notificaIntent.
L'azione specificata nel costruttore intento è definita nel AndroidManifest.xml
Per comprendere il pieno funzionamento della notifica locale e per vedere un controllo codice di notifica di esempio questo articolo - http://www.singhajit.com/schedule-local-notification-in-android/
fonte
2015-08-11 16:02:19
Controllare [Questo] (http://stackoverflow.com/questions/21461191/alarmmanager-fires-alarms-at-wrong-time/21461246#21461246) e [this] (http://developer.android.com/training/scheduling/alarms. html) – Skynet