mercredi 6 mai 2015
Notification nicht mehr senden nachdem sie geklickt wurde
Posted on 12:00 by verona
Ich schreibe gerade eine Android App für die Schule.
Darin wird alle 15 Minuten abgefragt ob einer meiner Kontakte Geburtstag hat und wenn ja gibt es eine Notifikation. So weit funktioniert das schon mal. Nun möchte ich aber, wenn die Notification einmal angeklickt wurde, dass sie nicht mehr gesendet wird. Also auch nicht in 15 Minuten, wenn das nächste Mal die Überprüfung ausgeführt wird. Kann mir da jemand helfen?
Darin wird alle 15 Minuten abgefragt ob einer meiner Kontakte Geburtstag hat und wenn ja gibt es eine Notifikation. So weit funktioniert das schon mal. Nun möchte ich aber, wenn die Notification einmal angeklickt wurde, dass sie nicht mehr gesendet wird. Also auch nicht in 15 Minuten, wenn das nächste Mal die Überprüfung ausgeführt wird. Kann mir da jemand helfen?
Java Code:
-
-
public class BirthdayNotifyService extends Service {
-
-
final static int RQS_STOP_SERVICE = 1;
-
NotifyServiceReceiver notifyServiceReceiver;
-
ArrayList<MyContact> birthdayList;
-
-
@Override
-
public void onCreate() {
-
notifyServiceReceiver = new NotifyServiceReceiver();
-
super.onCreate();
-
}
-
-
@Override
-
public int onStartCommand(Intent intent, int flags, int startId) {
-
birthdayList = new BirthdayDataFactory().getContacts(this);
-
int mNotificationId = 001;
-
-
for (int i = 0; i < birthdayList.size(); i++) {
-
geburtstagNeu = birthdayList.get(i).getDate();
-
if(geburtstagNeu != null) {
-
if(birthdayList.get(i).hasBirthday()) {
-
notificationText = birthdayList.get(i).getName();
-
l = birthdayList.get(i).getID();
-
-
NotificationCompat.Builder mBuilder =
-
new NotificationCompat.Builder(this)
-
.setSmallIcon(R.drawable.ic_launcher)
-
.setContentTitle("Happy Birthday")
-
.setContentText(notificationText);
-
-
// Creates an explicit intent for an Activity in your app
-
Intent resultIntent = new Intent(this, MainActivity.class);
-
-
PendingIntent resultPendingIntent =
-
PendingIntent.getActivity(
-
this,
-
0,
-
resultIntent,
-
PendingIntent.FLAG_UPDATE_CURRENT
-
);
-
-
mBuilder.setContentIntent(resultPendingIntent);
-
-
NotificationManager mNotifyMgr =
-
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
-
-
// benachrichtigung wird ausgegeben
-
mNotifyMgr.notify(mNotificationId, mBuilder.build());
-
}
-
}
-
}
-
return super.onStartCommand(intent, flags, startId);
-
}
-
-
@Override
-
public void onDestroy() {
-
this.unregisterReceiver(notifyServiceReceiver);
-
super.onDestroy();
-
}
-
-
@Override
-
public IBinder onBind(Intent arg0) {
-
return null;
-
}
-
-
public class NotifyServiceReceiver extends BroadcastReceiver {
-
@Override
-
int rqs = arg1.getIntExtra(STOP_SERVICE_BROADCAST_KEY, 0);
-
if (rqs == RQS_STOP_SERVICE){
-
stopSelf();
-
((NotificationManager) getSystemService(NOTIFICATION_SERVICE))
-
.cancelAll();
-
}
-
}
-
}
-
}
Notification nicht mehr senden nachdem sie geklickt wurde
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire