Kürzlich lese ich neuen Artikel über Android N notification Updates wo Google erwähnt hat über Direct Antwort Ich habe mein Bestes versucht, von diesem Artikel zu lernen, aber ich bekomme nicht genau, wie man direkt von der Benachrichtigung antwortet. Wenn mich jemand dazu führen könnte, wäre ich sehr dankbar.Android N Notification Direct Antwort
Antwort
Wenn Sie jemals eine Benachrichtigung mit pre erstellt haben -Android N-Versionen dann wird es eine leichte Aufgabe für Sie sein. Weil sie diese direkte Antwortfunktion als Ergänzung zum bestehenden Benachrichtigungsgenerator eingeführt haben
Es gibt hauptsächlich zwei Ergänzungen, die wir machen müssen. Sie sind wie folgt,
RemoteInput
Antworten Aktion
Da diese Zusätze sind optional. Wenn Sie Benachrichtigungen mit NotificationCompat.Builder erstellen, erhalten Sie ein neues Aussehen der Benachrichtigung mit Standardstil, ohne Code hinzuzufügen.
Wenn wir erstellen Direkte Antworten wir grundsätzlich anders als früher API wird eine zusätzliche gleiche Antwort Aktion mit einem RemoteInput auf Notification Builder und alles geben.
Das ist eine Anleitung, wie zu einer bestehenden Meldung
direkte Antwort-Funktion hinzufügen, wenn Sie die Rückwärtskompatibilität wollen, dann NotificationCompat.Builder statt verwenden Notification.Builder
ausführliche Tutorial finden Sie hier http://devdeeds.com/android-reply-notification-directly/
danke
Versuchen Below-Code
android.support.v4.app.NotificationCompat.Action replayAction = new NotificationCompat.Action.Builder(R.mipmap.ic_launcher, "Replay", PendingIntent.getActivities(this, 1, new Intent[]{new Intent(this, ReplayActivity.class)}, PendingIntent.FLAG_UPDATE_CURRENT))
.addRemoteInput(new RemoteInput.Builder("KEY").setAllowFreeFormInput(true).setLabel("Enter text you want to send").build())
.build();
android.support.v4.app.NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_notification_icons) // Must Required
.addAction(replayAction);
...// Notification Configuration
android.app.NotificationManager mgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
mgr.notify(1, builder.build());
------ In ReplayActivity.class -----
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_replay);
Intent intent = getIntent();
Bundle remoteInput = android.support.v4.app.RemoteInput.getResultsFromIntent(intent);
if (remoteInput != null) {
String s = (String) remoteInput.getCharSequence("KEY");
Toast.makeText(this, "" + s, Toast.LENGTH_LONG).show();
// Do whatever with Text
}
}
Funktioniert das für Sie? – ericwjr
Ja Code funktioniert in meiner App –