Notification bei einem bestimmten Datum

  • 6 Antworten
  • Letztes Antwortdatum
E

er4z0r

Neues Mitglied
0
Hallo,
ich habe momentan das Problem, dass meine Notification nict richtig funktioniert.
Unzwar möchte ich, sobald ein bestimmtes Datum erreicht ist ab 00:00 Uhr eine Notification rausgeben. Dies funktioniert aber nicht so recht.
Die Notifications werden durch einen onclicklistener aus einer listview gestartet.
Erkennt von euch jemand meinen Fehler?
Danke :)


MainActivity:
Code:
                                        Intent myIntent = new Intent(MainActivity.this, AlarmReceiver.class);
                                        myIntent.setAction(String.valueOf(id));
                                        pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, myIntent,0);
                                        AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
                                        alarmManager.set(AlarmManager.RTC, begincalendar.getTimeInMillis(), pendingIntent);
                                        Toast.makeText(MainActivity.this, "Erinnerung wurde erfolgreich gestartet" , Toast.LENGTH_LONG).show();
AlarmReceiver:
Code:
public class AlarmReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent)
    {
        Intent service1 = new Intent(context, NotificationService.class);
        context.startService(service1);

    }
}
NotificationService:
Code:
public class NotificationService extends Service {

    @Override
    public IBinder onBind(Intent arg0)
    {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void onCreate()
    {
        // TODO Auto-generated method stub
        super.onCreate();
    }

    @SuppressWarnings("static-access")
    @Override
    public void onStart(Intent intent, int startId)
    {
        NotificationCompat.Builder mBuilder =
                new NotificationCompat.Builder(this)
                        .setSmallIcon(R.drawable.ic_launcher)
                        .setContentTitle("test titel")
                        .setOnlyAlertOnce(true)
                        .setContentText("test text")
                        .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE);


        Intent resultIntent = new Intent(this, MainActivity.class);
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
        stackBuilder.addParentStack(MainActivity.class);
        stackBuilder.addNextIntent(resultIntent);
        PendingIntent resultPendingIntent =
                stackBuilder.getPendingIntent(
                        0,
                        PendingIntent.FLAG_UPDATE_CURRENT
                );
        mBuilder.setContentIntent(resultPendingIntent);
        NotificationManager mNotificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        mNotificationManager.notify(1122334455, mBuilder.build());
    }


}
 
Zuletzt bearbeitet:
Was funktioniert denn nicht ?!

Wird der Alarm denn gesetzt?
also zeigt er den passenden Toast an?
Wird onReceive ausgeführt?

Einfach mal debuggen dann sollte sich relativ schnell rausfinden lassen wo es nicht weiter geht.
 
die notifications die direkt ausgegeben werden sollen funktionieren, jedoch nicht die, die in de zukunft liegen. Also dass ich zb am 3.3. um 00:00 uhr erinnert werde...
 
Das beantwortet aber nicht meine Frage ob beispielsweise "onRecieve" aufgerufen wird zu der Uhrzeit.
Wenn nein stimmt schon was mit dem Alarmanager nicht. Wenn doch liegt der Fehler irgendwo im Service.
 
onRecieve wird ausgeführt. Es kommt auhc mal vor, dass eine notification mehrfach angezeigt wird.
Manifest:
Code:
        <service android:name=".NotificationService"
            android:enabled="true" />
        <receiver android:name=".AlarmReceiver" >
        </receiver>
 
Zuletzt bearbeitet:
Guten Abend,

kann es sein das du deine App unter Android 4.4 testest?
Dann würde nämlich die verwendete Methode
Code:
 alarmManager.set(AlarmManager.RTC, begincalendar.getTimeInMillis(), pendingIntent);
inexakt sein.
Versuche es mal mit der folgenden Methode:

AlarmManager | Android Developers

Mit freundlichen Grüßen

pootney
 
nein ich verwende moentan adroid 4.3 ;)
wenn es länger als 20h zb dauert, bis die notification ausgelöst werden soll, funktioniert diese nicht :(
 
Zuletzt bearbeitet:

Ähnliche Themen

AnnaBauer21
Antworten
0
Aufrufe
487
AnnaBauer21
AnnaBauer21
Zurück
Oben Unten