T
txbarth
Ambitioniertes Mitglied
- 0
Hallo,
meine erste App ist so gut wie fertig, nun tauchen aber noch ein paar Probleme auf, mit denen ich nicht gerechnet habe. Wenn meine App einmal gestartet wurde über die App-Liste, läuft in der Hauptaktivität ein Timer, der sich Daten vom Server holt. Wenn neue Daten vorliegen, soll entweder eine Benachrichtigung erscheinen (wenn die entsprechende App / Hauptaktivität nicht im Vordergrund ist) oder eine ListView aktualisiert werden (wenn sich die Hauptaktivität im Vordergrund befindet). Nun habe ich mich erst einmal an dem Basis-Beispiel für Notifications orientiert:
1. Wenn die Benachrichtigung in der Statuszeile erscheint und ich diese anklicke, wird die Aktivität zum zweiten Mal gestartet, anstatt zu der auf Pause gesetzten Aktivität zu wechseln! Wenn ich aber die App über die App-Liste aufrufe, wird sie nicht neu gestartet, sondern in den Vordergrund gebracht. Wie bekomme ich das über die Benachrichtigung hin? Ich hatte in der Zeile
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, Intent.FLAG_FROM_BACKGROUND); noch andere Flags angegeben, es ändert sich jedoch nichts.
2. Ist es normal, dass die Flags Notification.FLAG_AUTO_CANCEL. Notification.DEFAULT_SOUND, Notification.DEFAULT_LIGHTS vom notification-Objekt ignoriert werden? Z.B. bleibt das Benachrichtigungssymbol in der Statuszeile stehen, wenn die Benachrichtigung angeklickt wurde. Sound und Light bekomme ich auch nicht.
3. Wie muss das Icon eigentlich beschaffen sein, damit es nicht zu einem Ausnahmefehler kommt? Ich hatte ein eigenes notify-icon als png in drawable-hdpi/ldpi/mdpi angelegt, bekomme aber die Meldung, dass das Icon nicht angelegt werden konnte.
Danke schon mal für weitere Tipps!
meine erste App ist so gut wie fertig, nun tauchen aber noch ein paar Probleme auf, mit denen ich nicht gerechnet habe. Wenn meine App einmal gestartet wurde über die App-Liste, läuft in der Hauptaktivität ein Timer, der sich Daten vom Server holt. Wenn neue Daten vorliegen, soll entweder eine Benachrichtigung erscheinen (wenn die entsprechende App / Hauptaktivität nicht im Vordergrund ist) oder eine ListView aktualisiert werden (wenn sich die Hauptaktivität im Vordergrund befindet). Nun habe ich mich erst einmal an dem Basis-Beispiel für Notifications orientiert:
Code:
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager notificationManager = (NotificationManager) getSystemService(ns);
int icon = R.drawable.icon;
CharSequence tickerText = "FskCheck";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
notification.defaults |= Notification.FLAG_AUTO_CANCEL | Notification.DEFAULT_SOUND;
//notification.defaults |= Notification.DEFAULT_LIGHTS;
Context context = getApplicationContext();
CharSequence contentTitle = "Info";
CharSequence contentText = "Tu was!";
Intent notificationIntent = new Intent(this, MyActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, Intent.FLAG_FROM_BACKGROUND);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
notificationManager.notify(NOTIFY_ID, notification);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, Intent.FLAG_FROM_BACKGROUND); noch andere Flags angegeben, es ändert sich jedoch nichts.
2. Ist es normal, dass die Flags Notification.FLAG_AUTO_CANCEL. Notification.DEFAULT_SOUND, Notification.DEFAULT_LIGHTS vom notification-Objekt ignoriert werden? Z.B. bleibt das Benachrichtigungssymbol in der Statuszeile stehen, wenn die Benachrichtigung angeklickt wurde. Sound und Light bekomme ich auch nicht.
3. Wie muss das Icon eigentlich beschaffen sein, damit es nicht zu einem Ausnahmefehler kommt? Ich hatte ein eigenes notify-icon als png in drawable-hdpi/ldpi/mdpi angelegt, bekomme aber die Meldung, dass das Icon nicht angelegt werden konnte.
Danke schon mal für weitere Tipps!