单挑通知 – Android棒棒糖

我试图显示一个通知types的提醒,但我不能。 我试过了

final Notification.Builder notif = new Builder(getApplicationContext()) .setContentTitle(getString(R.string.title)) .setContentText(getString(R.string.text)) // .setTicker(getString(R.string.tick)) removed, seems to not show at all // .setWhen(System.currentTimeMillis()) removed, match default // .setContentIntent(contentIntent) removed, I don't neet it .setColor(Color.parseColor(getString(R.color.yellow))) //ok .setSmallIcon(R.drawable.ic_small) //ok .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher)) // .setCategory(Notification.CATEGORY_CALL) does not seem to make a difference .setPriority(Notification.PRIORITY_MAX); //does not seem to make a difference // .setVisibility(Notification.VISIBILITY_PRIVATE); //does not seem to make a difference mNotificationManager.notify(Constants.NOTIFICATION_ID, notif.build()); 

通知仅作为图标显示在栏中。 我在api21模拟器上使用api 21(不是L预览)尝试android:Theme.Holo.NoActionBar和android:Theme.Holo.NoActionBar.Fullscreen和NotificationCompat.Builder

Sdk示例不可用。 有谁知道如何做到这一点?

我做了工作增加

  .setDefaults(Notification.DEFAULT_VIBRATE) 

是最好的方法?

根据通知 ,您需要设置振动或铃声才能正常工作。 但是,下面是一个不需要VIBRATE权限即可生成平视通知的快捷方式:

 notificationBuilder.setPriority(Notification.PRIORITY_HIGH); if (Build.VERSION.SDK_INT >= 21) notificationBuilder.setVibrate(new long[0]); 

编辑:

不要滥用单挑通知。 在这里看到何时使用单挑通知:

MAX:对于紧急和紧急的通知,提醒用户遇到时间紧迫或需要解决的情况,才能继续执行特定的任务。

HIGH(高):主要用于重要的通信,如消息或聊天事件,其内容对用户特别有用。 高优先级通知触发抬头通知显示。

根据谷歌: https : //developer.android.com/design/patterns/notifications.html

如果通知的优先级标记为高,最大或全屏,则会收到通知。

所以下面的代码应该生成一个单独的通知:

 .setPriority(Notification.PRIORITY_MAX) 

应该够了。 但显然.setDefaults(Notification.DEFAULT_VIBRATE)也必须设置。 希望Google能够在Android 5.0的最终版本中解决这个问题。

不知道是否错误或function…

所有我的应用程序不会显示通知,例如我有Android 5.1.1的Nexus 6,但我认为这是自Android 5.0以来的一个问题,我必须设置:

 .setPriority(Notification.PRIORITY_HIGH) 

正确设置和pipe理通知优先级

Android支持通知的优先级标志。 此标志允许您影响通知的显示位置(相对于其他通知),并有助于确保用户始终首先看到最重要的通知。 发布通知时,您可以从以下优先级中进行select:

MAX用于关键和紧急通知,提醒用户在可以继续执行特定任务之前遇到时间关键或需要解决的情况。

主要用于重要的通信,如消息或聊天事件与用户特别感兴趣的内容。 高优先级通知触发抬头通知显示。

DEFAULT用于所有不属于此处描述的任何其他优先级的通知,并且如果应用程序不优先处理其自己的通知

用于通知,您希望通知用户,但不那么紧急。 低优先级通知往往出现在列表的底部,这使得它们成为诸如公共或无向社交更新之类的不错select:用户已经要求通知他们,但是这些通知不应该优先于紧急或直接沟通。

MIN用于上下文或背景信息,例如天气信息或上下文位置信息。 最低优先级通知不会出现在状态栏中。 用户在扩展通知栏时发现它们。

要设置优先级 ,请使用setPriority函数(在API 16中引入)和Notification Builder的 setDefaults (在API 11中添加)。 根据您的应用程序的要求,select优先级DEFAULT ,HIGH,LOW,MAX,MIN。 默认值也可以在这里select。

小片段:

 notification = NotificationBuilder(service) notification.setPriority(Notification.PRIORITY_MAX) notification.setDefaults(Notification.DEFAULT_ALL) 

在你的代码中添加这一行来显示正面通知它只适用于棒棒糖版本

 notificationBuilder.setPriority(Notification.PRIORITY_HIGH); 

应该设置高优先级,并使用铃声或振动。

 notificationBuilder.setDefaults(Notification.DEFAULT_ALL); notificationBuilder.setPriority(Notification.PRIORITY_HIGH); 

参考: https : //developer.android.com/guide/topics/ui/notifiers/notifications.html#Heads-up

单向通知

使用Android 5.0(API级别21),当设备处于活动状态(即设备已解锁并且其屏幕处于打开状态)时,通知可以出现在一个小的浮动窗口(也称为抬头通知)中。 除了抬头通知还显示操作button之外,这些通知看起来与通知的紧凑forms相似。 用户可以在不离开当前应用程序的情况下执行或closures提醒通知。

可能触发单挑通知的条件示例包括:

  • 用户的活动是全屏模式(应用程序使用fullScreenIntent),或
  • 该通知具有高优先级并使用铃声或振动