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

那你还需要实际发出通知。您链接到的示例正确执行此操作,因此您可能希望将其剪切和粘贴作为一个好的起点,先让它工作,然后再进行更改。