2017-11-03 2 views
0

meine Frage ist, weil ich den Hintergrund in meinem Android Wear Emulator nicht sehen kann, deklariere ich .setBackgroung mit einem validierten Bild, aber wenn ich die App laufen lasse und mir eine Benachrichtigung der Hintergrund wird nicht angezeigt.Ich kann nicht den Hintergrund meines Android Wear Emulator sehen

Also wenn jemand mir helfen kann, schätze ich, Tanks im Voraus.

public class NotificationService extends FirebaseMessagingService { 
public static final String TAG = "FIREBASE"; 
public static final int NOTIFICATION_ID = 001; 
@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 
    //super.onMessageReceived(remoteMessage); 
    Log.d(TAG, "From: " + remoteMessage.getFrom()); 
    Log.d(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody()); 
    enviarNotificacion(remoteMessage); 
} 

public void enviarNotificacion(RemoteMessage remoteMessage){ 
    Intent i = new Intent(); 
    i.setAction("TOQUE_ANIMAL"); 
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, i, PendingIntent.FLAG_UPDATE_CURRENT); 
    Uri sonido = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 

    NotificationCompat.Action action = 
      new NotificationCompat.Action.Builder(R.drawable.ic_full_poke, 
        getString(R.string.texto_accion_toque), pendingIntent) 
      .build(); 

    NotificationCompat.WearableExtender wearableExtender = 
      new NotificationCompat.WearableExtender() 
      .setHintHideIcon(true) 
      .setBackground(BitmapFactory.decodeResource(getResources(), 
        R.drawable.bk_androidwear_notification)) 
      .setGravity(Gravity.CENTER_VERTICAL); 

    NotificationCompat.Builder notificacion = new NotificationCompat.Builder(this) 
      .setSmallIcon(R.drawable.notificacion) 
      .setContentTitle("Notificacion") 
      .setContentText(remoteMessage.getNotification().getBody()) 
      .setAutoCancel(true) 
      .setSound(sonido) 
      .setContentIntent(pendingIntent) 
      .extend(wearableExtender.addAction(action)) 
      //.addAction(R.drawable.ic_full_poke, getString(R.string.texto_accion_toque), pendingIntent) 
      ; 

    NotificationManagerCompat notificationManager = 
      NotificationManagerCompat.from(this); 
    notificationManager.notify(NOTIFICATION_ID, notificacion.build()); 
} 

}

Antwort

0

Mit diesem SO post beziehen. Versuchen Sie setBackground(Bitmap) Methode von WearableExtender anstelle von setLargeIcon(Bitmap) zu verwenden. Sie können dieses tutorial auch überprüfen, wie man ein Zifferblatt für Android Wear erstellt.

Zusätzliches Referenzhintergrundbild für Android Wear Benachrichtigung einzustellen: Background image for android wear notification

Die Auflösung für quadratische Zifferblätter von Recht ist jetzt 280x280, während das runde Zifferblatt mit einer Auflösung von 320x320 hat (obwohl einige diese wird natürlich abgeschnitten).

Android Wear implementiert jedoch standardmäßig eine Art Parallax-Scrolling für größere Bilder, sodass größere Bilder mit großer Leichtigkeit verarbeitet werden können. Dies wird sogar empfohlen (see this previous answer). Sie sollten sich also wirklich keine Gedanken über die Größe des Bildes machen, es sei denn, Sie haben versucht, ein statisches Vollbild mit bestimmten Interaktionsbereichen als Ersatz für benutzerdefinierte UI-Elemente zu erstellen (was Sie tun können, möchte ich hinzufügen) Google empfiehlt, dass Sie nur einen Interaktionsbereich pro Bildschirm auf der Uhr haben, um die Dinge einfach zu halten.

Wenn Sie ein gutes Beispiel für die Verwendung mehrerer Bilder für Hintergründe mit Parallax-Scrolling sehen möchten, empfehlen wir Ihnen das GridViewPager-Beispielprojekt, das in den SDK-Beispielen im Wearable-Unterordner für API-Stufe 20 zu finden ist.

Hoffe, das hilft!

Verwandte Themen