Wie kann ich die Statusleiste nach dem Klicken auf die Benachrichtigungsschaltfläche schließen?Schließen Sie die Statusleiste, wenn Sie auf die Schaltfläche klicken.
ich this versucht, aber ich hatte eine Ausnahme:
java.lang.NoSuchMethodException: collapse []
at java.lang.Class.getConstructorOrMethod(Class.java:460)
at java.lang.Class.getMethod(Class.java:915)
...
Mein Code:
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.icon)
.setContentTitle("Sync Failed")
.setContentText("Lorem ipsum dolor sit amet")
.setStyle(new NotificationCompat.BigTextStyle().bigText("Lorem ipsum dolor sit amet"))
.addAction(R.drawable.change, "Change Pass", pChangePass)
.addAction(R.drawable.remove, "Ignore", pIgnore)
.setAutoCancel(false);
mNotificationManager.notify(accountUnique, builder.build());
Bei NotificationIntent Klasse
@Override
public void onReceive(Context context, Intent intent) {
int notificationID = intent.getExtras().getInt("NOT_ID");
this.callbackContext = StatusBarNotification.getCallback();
this.mNotificationManager = StatusBarNotification.getNotificationManager();
this.mNotificationManager.cancel(notificationID);
this.callbackContext.success(returnJSON(intent));
}
Sie sollten wirklich Sam Lu Kommentar akzeptieren - Ihre Lösungen auf irgendwelchen nächsten Versionen aufhören zu arbeiten könnten, weil sie nicht verwendet öffentliche api. Wie Sie sehen, mussten Sie bereits 'if api <= 16 'hinzufügen - es ist möglich, dass Sie bald' if api <= 19' hinzufügen müssen. – imbryk
Mit dem obigen Kommentar einverstanden. Sams Antwort ist viel einfacher und behandelt keine Versionsnummern. – Saik