Le plan de l'application est de déclencher une notification tous les jours à 7 heures, ce qui fonctionne déjà. Les choses sont que la première fois que l'application est lancée, il demande des données de connexion qui fonctionne également en général, mais l'application se bloque si l'utilisateur n'a pas soumis assez rapidement.PendingIntent semble démarrer lors de l'initialisation
C'est le code dans le MainActivity qui fonctionne si l'utilisateur n'a pas déjà présenté:
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 7);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
Intent intent1 = new Intent(this, NotificationClass.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 100, intent1, 0);
AlarmManager am = (AlarmManager) getSystemService(MainActivity.this.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
je suppose que NotificationClass est commencé parce que la « source » de l'accident est le code de la loadText.java qui est démarré par NotificationClass. Le plan est qu'il commence seulement tous les jours à 7 heures du matin comme mentionné. Est-ce que quelqu'un connaît ce problème ou a une idée? J'ai déjà essayé différents drapeaux.
Merci d'avance!
Erreur dans logcat:
08-22 14:54:02.217 2762-2762/de.kurt.vertretungsplan E/AndroidRuntime: FATAL EXCEPTION: main
Process: de.kurt.vertretungsplan, PID: 2762
java.lang.NullPointerException: Attempt to invoke virtual method 'org.jsoup.select.Elements org.jsoup.nodes.Element.select(java.lang.String)' on a null object reference
at de.kurt.vertretungsplan.loadText$loadTextAsyncTask.onPostExecute(loadText.java:112)
at de.kurt.vertretungsplan.loadText$loadTextAsyncTask.onPostExecute(loadText.java:35)
at android.os.AsyncTask.finish(AsyncTask.java:667)
at android.os.AsyncTask.-wrap1(AsyncTask.java)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:684)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
08-22 14:54:02.232 1247-1293/? E/SurfaceFlinger: ro.sf.lcd_density must be defined as a build property
08-22 14:54:02.295 1462-3018/system_process E/EGL_emulation: tid 3018: eglSurfaceAttrib(1174): error 0x3009 (EGL_BAD_MATCH)
On ne sait vraiment pas quel est le problème, mais si vous demandez un correctif pour le déclenchement de l'alarme immédiatement, jetez un oeil ici: https://stackoverflow.com/questions/36535575/android-prevent-immediate- trigger-of-alarm-service-if-alarm-time-a-passé-pour. –
Merci :). Ça fonctionne maintenant! – quidproquo