我的问题是因为我无法在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());
}
}
答案 0 :(得分:0)
您可以参考此SO post。尝试使用setBackground(Bitmap)
中的WearableExtender
方法而不是setLargeIcon(Bitmap)
。您还可以查看此tutorial有关如何为Android Wear创建表盘的信息。
为Android Wear通知设置背景图片的其他参考:Background image for android wear notification
目前方形表盘的分辨率为280x280,而圆形表盘的分辨率为320x320(虽然其中一些会明显被切断)。
然而,Android Wear默认为较大的图像实现了一种视差滚动,因此它可以非常轻松地处理更大的图像,甚至建议您这样做(see this previous answer)。所以你真的不应该担心图像的大小,除非你试图创建一个具有特定交互区域的静态全屏图像作为自定义UI元素的替代品(你可以做,我可能会添加)虽然Google建议您在手表上每个屏幕只有一个交互区域,以保持简单。)
如果你想看到一个用于视差滚动背景的多个图像的好例子,我建议你查看GridViewPager示例项目,该项目可以在API级别20的可穿戴子文件夹的SDK示例中找到。 / p>
希望这有帮助!