在通知时振动Android Wear设备

问题描述 投票:8回答:2

我正在尝试开发一款适用于Android和Android的应用程序。我创建了从手机到手表的通知。

notification = new NotificationCompat.Builder(context)
                    .setSmallIcon(icon)
                    .setVibrate(new long[]{1000, 1000, 1000, 1000, 1000, 1000})
                    .setContentTitle(title)
                    .setContentText(content)
                    .setStyle(bigStyle.bigText(content))
                    .setLargeIcon(BitmapFactory.decodeResource(context.getResources(), background))
                    .build();

在我设置的手表清单中:

<uses-permission android:name="android.permission.VIBRATE"/>

不幸的是,我没有任何振动。

我能怎么做 ?

谢谢。

android android-notifications wear-os android-vibration
2个回答
9
投票
 .setDefaults(Notification.DEFAULT_ALL)

这行代码将使磨损唤醒并振动。


0
投票

我想为SDK 26及更高版本添加1个更新的答案。我花了很多时间试图确定为什么我的通知不会在Android Wear手表上振动。

我最终注意到有人将通知频道的优先级设置为IMPORTANCE_MIN

if (Build.VERSION.SDK_INT >= 26) {
    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    NotificationChannel notificationChannel = new NotificationChannel(Config.NOTIFICATION_CHANNEL_ID, Config.NOTIFICATION_CHANNEL_NAME, NotificationManager.IMPORTANCE_MIN);
    notificationManager.createNotificationChannel(notificationChannel);
}

为了解决这个问题,我做了以下事情:

  • 从手机上卸载了应用程序
  • 将优先级更改为HIGH [虽然我怀疑NORMAL也会起作用]
  • 重新安装了该应用程序

更新的代码:

NotificationChannel(Config.NOTIFICATION_CHANNEL_ID, Config.NOTIFICATION_CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH);

注意:您还需要确保您的默认设置正确,因为他之前的回答中指出了“Android爱好者”。

我希望它可以使某人免于调查。

© www.soinside.com 2019 - 2024. All rights reserved.