2015-01-03 5 views
12

Ich arbeite derzeit an einer App mit Benachrichtigung, die auf einem Verschleißgerät angezeigt werden. Die Benachrichtigung enthält eine Aktion, die an die Benachrichtigungskarte gebunden ist (.setContentAction (0)).Deaktivieren Androide Verschleiß ausstehende Absicht Aktion Bestätigung

enter image description here

Alles funktioniert gut, außer dass es eine Bestätigungsnachricht zeigt jedesmal, wenn jemand auf der Karte klickt.

enter image description here

Da die Karte so schnell aktualisiert wird, wie jemand darauf klickt, dann ist es nicht notwendig, eine Bestätigung zu zeigen.

Ich überprüfe bereits die offizielle Dokumentation (https://developer.android.com/training/wearables/ui/confirm.html#show-confirmation), wenn es eine Möglichkeit gibt, die Bestätigung zu stoppen, leider habe ich bis jetzt keine Lösung gefunden.

bearbeiten 09.07.2015

NotificationCompat.Builder builder = new NotificationCompat.Builder(context) 
            .setGroup("GROUP") 
            .setGroupSummary(false) 
            .setAutoCancel(false) 
            .setPriority(Notification.PRIORITY_HIGH) 
            .setSmallIcon(R.drawable.ic_timer_white_48dp); 

ArrayList<NotificationCompat.Action> actions = new ArrayList<>(); 
NotificationCompat.Action control = new NotificationCompat.Action.Builder(icon, null, pendingTimeIntent).build(); 

actions.add(control); 

builder.extend(new NotificationCompat.WearableExtender().addActions(actions).setContentAction(0).setBackground(background)); 

NotificationManagerCompat notificationManager = 
      NotificationManagerCompat.from(context); 
notificationManager.notify(Constants.NOTIFICATION_ID_WEAR, builder.build()); 
+0

Haben Sie eine Lösung dafür? – Debugger

+0

Nein, deshalb habe ich eine Bouny angefangen. – Lukas

+0

Haben Sie eine eigenständige tragbare Anwendung? Ich habe kürzlich an einer SmartWatch-App gearbeitet, und ich hatte dieses Problem nicht. Kannst du etwas Code posten? – Blackbelt

Antwort

0

Sie versuchen, ändern könnte Ihr Konstruktor wie:

NotificationCompat.Builder builder = new NotificationCompat.Builder(context) 
            .setGroup("GROUP") 
            .setGroupSummary(false) 
            .setAutoCancel(false) 
            .setPriority(Notification.PRIORITY_HIGH) 
            .setShowWhen(true)                     
.setSmallIcon(R.drawable.ic_timer_white_48dp); 

Beachten Sie die Zeile:

.setShowWhen(true); 

Und Sie, die Flagge der Absicht ändern zu falsch:

Intent intent = new Intent(this, ConfirmationActivity.class); 
intent.putExtra(ConfirmationActivity.EXTRA_ANIMATION_TYPE, 
       ConfirmationActivity.SUCCESS_ANIMATION); 
intent.putExtra(ConfirmationActivity.EXTRA_MESSAGE, 
       getString(R.string.msg_sent)); 
intent.putExtra(ConfirmationActivity.EXTRA_SHOW_WHEN, false); 
startActivity(intent); 

Ich weiß nicht, ob es richtig funktioniert, aber ich hoffe, es gibt Ihnen einen Hinweis.

+1

Dies funktioniert nicht, da NotificationCompat.WearableExtender(). AddActions (Aktionen) nur Aktionen vom Typ NotificationCompat.Action ausführt, die nur mit einem ausstehenden Aufruf funktionieren. Es ist nicht möglich, einer ausstehenden Absicht ein Extra hinzuzufügen. – Lukas

+0

Dies funktioniert nicht, da wearextender Benachrichtigungsaktion ausstehende Absicht nicht die Bestätigungsaktivität ist, da diese Benachrichtigung von der Telefon-App ausgelöst wird, nicht von der Abnutzungs-App – Libin

Verwandte Themen