延长棒棒糖"heads-up"通知持续时间



一直在尝试找到一种方法来创建持久的抬头通知,就像接听电话或环聊电话一样。这些是否仅限于谷歌/系统应用?

我试过:

  • 在删除抬头通知之前更新通知。
  • 将正在进行的标志设置为 true。
  • 将自动取消设置为 false

似乎找不到任何地方都在这样做。

它对我有用:

  • 将持续标志设置为 true
  • 设置全屏意图
  • 将优先级设置为PRIORITY_HIGH
  • 将类别设置为CATEGORY_CALL

提醒通知(API 级别 21):

可能触发提醒通知的条件示例包括:

  • 用户的活动处于全屏模式(应用使用全屏意图),
  • 通知具有高优先级,并使用铃声或振动

第二种情况足以让我显示提醒通知。下面是一个示例代码:

Notification notification = new NotificationCompat.Builder(this)
        .setContentTitle("Title")
        .setContentText("Message")
        .setSmallIcon(R.drawable.ic_notification)
        .setPriority(NotificationCompat.PRIORITY_HIGH)
        .setSound(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.your_sound))
//        .setOngoing(true)
        .build();
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(42, notification);

每秒运行一次此示例代码(取决于持续时间your_sound.mp3...)就可以解决问题。

请注意,您可能希望在第一次之后播放静音.mp3。

只是,将setOngoing添加到 true。 .setOngoing(true); ,这就是您在通知面板中使通知(抬头)显示更长时间,现在也没有通知不可滑动的方式。

最新更新