【发布时间】:2014-12-16 18:09:03
【问题描述】:
在 Android TV 上的 Lollipop 中创建推荐(或通知)时,我无法将其设置为自动取消。
我正在使用 Android TV 开发者页面中推荐的“NotificationCompat.BigPictureStyle”。通知按设计工作,按预期触发 PendingIntent,但不会自动取消并从推荐栏中消失。第二次选择推荐会出现一个空白屏幕,所以我猜当时 PendingIntent 为空。 (ADB 在第二次调用时显示 android.content.IntentSender$SendIntentException。)
在 Nexus Player 和 Android TV 模拟器上测试。
private void buildAndroidTVRecommendation(String name, PendingIntent pIntent,
Context context2, Bundle extras) {
NotificationManager mNotificationManager = (NotificationManager)
context2.getSystemService(Context.NOTIFICATION_SERVICE);
Bitmap smallBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.air_share);
Notification notification = new NotificationCompat.BigPictureStyle(
( new NotificationCompat.Builder(context)
.setContentTitle("Air-Share - incoming share")
.setContentText("From: "+name)
.setContentInfo("Air-Share"))
.setGroup("Air-Share")
.setColor(0xFFFF2020)
.setCategory(Notification.CATEGORY_RECOMMENDATION)
.setLargeIcon(smallBitmap)
.setSmallIcon(R.drawable.air_share)
.setContentIntent(pIntent)
.setExtras(extras)
.setAutoCancel(true)
)
.build();
mNotificationManager.notify(pendingCounter, notification);
mNotificationManager = null;
}
【问题讨论】:
-
您希望它何时自动取消?当涉及刷新、切换位置被解除/更新时,该建议由系统处理。
-
我期待与主流设备 Android 通知类似的自动取消行为。例如在 Jellybean 平板电脑上,当用户拉下通知栏并按下通知(自动取消标志 = true)时,pendingIntent 被激活并且通知从系统中消失。
-
正如我所说,Android TV 可能并非如此。建议由系统处理,因此您不能决定是否应忽略您的内容。其他应用(例如 YouTube、DailyMotion、musixmatch 等)也与此行为一致。
-
或许你有道理,但为什么在第二次选择推荐时会产生空白屏幕和异常?
-
这听起来更像是您这边出了点问题。我在构建公司的应用程序 (musixmatch) 时没有遇到过这个问题。
标签: android android-5.0-lollipop android-tv