我正在尝试开发一款适用于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"/>
不幸的是,我没有任何振动。
我该怎么办?
感谢。
答案 0 :(得分:9)
.setDefaults(Notification.DEFAULT_ALL)
这行代码会使磨损唤醒并振动。
答案 1 :(得分: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);
}
为解决此问题,我执行了以下操作:
更新代码:
NotificationChannel(Config.NOTIFICATION_CHANNEL_ID, Config.NOTIFICATION_CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH);
注意:您还需要确保您的默认设置正确无误,就像“ Android发烧友”在他先前的回答中指出的那样。
我希望它可以使某人免于调查。