Android 佩戴 2.0 通知
Android wear 2.0 notifications
所以,在 Google I/O 2016 和新的 wear 2.0 之后,我试图在我的 huawei watch 运行 beta build 上存档相同的通知。
这里google notification changes doc
我尝试从我以前使用通知的方式进行更新,但没有成功。我只是无法在通知底部添加操作按钮。
这是我目前得到的:
Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.nav);
Intent snoozeIntent = new Intent(getApplicationContext(), SnoozeNotification.class);
PendingIntent piSnooze = PendingIntent.getBroadcast (getApplicationContext(), 1, snoozeIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Bitmap resizedBitmap = Bitmap.createScaledBitmap(
background, 150, 150, false);
NotificationCompat.Action action_1 = new NotificationCompat.Action.Builder(R.drawable.ic_timer_white_24dp, getString(R.string.snooze), piSnooze).build();
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentTitle(getString(R.string.wear_notification_1));
builder.setContentText(getString(R.string.wear_notification_2));
builder.setVibrate(new long[]{2000});
builder.setPriority(Notification.PRIORITY_MAX);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setAutoCancel(true);
builder.addAction(R.drawable.ic_timer, getString(R.string.snooze), piSnooze);
builder.setLargeIcon(resizedBitmap);
builder.extend(new android.support.v7.app.NotificationCompat.WearableExtender().addAction(action_1)).build();
builder.build();
但我只看到没有任何按钮等的正常通知。有人知道我做错了什么吗?
当你调用.build()时,你需要将结果保存到一个变量中,现在结果正在丢失。这是您当前的代码:
builder.extend(new android.support.v7.app.NotificationCompat.WearableExtender().addAction(action_1)).build();
builder.build();
你需要做这样的事情:
builder.extend(new android.support.v7.app.NotificationCompat.WearableExtender().addAction(action_1));
Notification n = builder.build();
那你还需要实际发出通知。您链接到的示例正确执行此操作,因此您可能希望将其剪切和粘贴作为一个好的起点,先让它工作,然后再进行更改。
所以,在 Google I/O 2016 和新的 wear 2.0 之后,我试图在我的 huawei watch 运行 beta build 上存档相同的通知。
这里google notification changes doc
我尝试从我以前使用通知的方式进行更新,但没有成功。我只是无法在通知底部添加操作按钮。
这是我目前得到的:
Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.nav);
Intent snoozeIntent = new Intent(getApplicationContext(), SnoozeNotification.class);
PendingIntent piSnooze = PendingIntent.getBroadcast (getApplicationContext(), 1, snoozeIntent, PendingIntent.FLAG_UPDATE_CURRENT);
Bitmap resizedBitmap = Bitmap.createScaledBitmap(
background, 150, 150, false);
NotificationCompat.Action action_1 = new NotificationCompat.Action.Builder(R.drawable.ic_timer_white_24dp, getString(R.string.snooze), piSnooze).build();
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentTitle(getString(R.string.wear_notification_1));
builder.setContentText(getString(R.string.wear_notification_2));
builder.setVibrate(new long[]{2000});
builder.setPriority(Notification.PRIORITY_MAX);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setAutoCancel(true);
builder.addAction(R.drawable.ic_timer, getString(R.string.snooze), piSnooze);
builder.setLargeIcon(resizedBitmap);
builder.extend(new android.support.v7.app.NotificationCompat.WearableExtender().addAction(action_1)).build();
builder.build();
但我只看到没有任何按钮等的正常通知。有人知道我做错了什么吗?
当你调用.build()时,你需要将结果保存到一个变量中,现在结果正在丢失。这是您当前的代码:
builder.extend(new android.support.v7.app.NotificationCompat.WearableExtender().addAction(action_1)).build();
builder.build();
你需要做这样的事情:
builder.extend(new android.support.v7.app.NotificationCompat.WearableExtender().addAction(action_1));
Notification n = builder.build();
那你还需要实际发出通知。您链接到的示例正确执行此操作,因此您可能希望将其剪切和粘贴作为一个好的起点,先让它工作,然后再进行更改。