実装したい 積み重ねた通知Android Wear これを行うには、各「アイテム」に対して1つの要約通知とN個の個別の通知を作成します。要約のみを作成します。電話に表示されますこれが私のコードです
private void showNotifications() {
NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
showNotification1(notificationManager);
showNotification2(notificationManager);
showGroupSummaryNotification(notificationManager);
}
private void showNotification1(NotificationManager notificationManager) {
showSingleNotification(notificationManager, "title 1", "message 1", 1);
}
private void showNotification2(NotificationManager notificationManager) {
showSingleNotification(notificationManager, "title 2", "message 2", 2);
}
protected void showSingleNotification(NotificationManager notificationManager,
String title,
String message,
int notificationId) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentTitle(title)
.setContentText(message)
.setSmallIcon(R.mipmap.ic_launcher)
.setGroupSummary(false)
.setGroup("group");
Notification notification = builder.build();
notificationManager.notify(notificationId, notification);
}
private void showGroupSummaryNotification(NotificationManager notificationManager) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentTitle("Dummy content title")
.setContentText("Dummy content text")
.setStyle(new NotificationCompat.InboxStyle()
.addLine("Line 1")
.addLine("Line 2")
.setSummaryText("Inbox summary text")
.setBigContentTitle("Big content title"))
.setNumber(2)
.setSmallIcon(R.mipmap.ic_launcher)
.setCategory(Notification.CATEGORY_EVENT)
.setGroupSummary(true)
.setGroup("group");
Notification notification = builder.build();
notificationManager.notify(123456, notification);
}
これはAndroid 5.1で正常に機能し、電話の通知バーには概要のみが表示されます。
ただし、Android 4.4では、個別の通知1および2も表示されます。
どちらの場合でも、Android Wearは必要に応じてスタックに表示されます。Android 4.4通知バーに要約通知のみを表示するにはどうすればよいですか?
を使用してこれを修正しました
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
の代わりに
NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
対応するメソッドシグネチャでNotificationManagerをNotificationManagerCompatに置き換えます。
showSingleNotification
メソッドを削除して置き換えるだけです
notificationManager.notify(123456, notification);
と
notificationManager.notify(123456, builder);
そしてその仕事はうまくいきました。