Я не вижу фон своего эмулятора Android Wear

мой вопрос в том, что я не вижу фон в своем эмуляторе Android Wear, я объявляю .setBackgroung с проверенным изображением, но когда я запускаю приложение и отправляю мне уведомление, фон не отображается.

Любая помощь?

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());
    }
}

person Tony Barajas    schedule 03.11.2017    source источник


Ответы (1)


Вы можете обратиться к этому сообщению SO. Попробуйте использовать метод setBackground(Bitmap) из WearableExtender вместо setLargeIcon(Bitmap). Вы также можете ознакомиться с этим руководством по созданию циферблата. для износа Android.

Дополнительная ссылка на установку фонового изображения для уведомления об износе Android: Фоновое изображение для уведомления об износе Android

Разрешение квадратных циферблатов на данный момент составляет 280x280, в то время как круглые циферблаты имеют разрешение 320x320 (хотя, очевидно, некоторые из них будут обрезаны).

Однако Android Wear по умолчанию реализует своего рода прокрутку параллакса для больших изображений, поэтому он может с легкостью обрабатывать большие изображения, и вам даже рекомендуется это делать (см. предыдущий ответ). Таким образом, вам действительно не следует беспокоиться о размере изображения, если только вы не пытаетесь создать статическое полноэкранное изображение с определенными областями взаимодействия в качестве замены пользовательских элементов пользовательского интерфейса (что вы можете сделать, я мог бы добавить, хотя Google рекомендует иметь только одну область взаимодействия на экране часов для простоты).

Если вы хотите увидеть хороший пример использования нескольких изображений для фона с прокруткой параллакса, я рекомендую вам ознакомиться с примером проекта GridViewPager, который можно найти в примерах SDK в подпапке Wearable для уровня API 20.

Надеюсь это поможет!

person abielita    schedule 04.11.2017