jav*_*tti 4 notifications android heads-up-notifications
我希望通知不会在几秒钟后消失。所以我创建了这样的通知:
  NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
        builder.setSmallIcon(R.drawable.cast_ic_notification_small_icon)
                .setDefaults(Notification.FLAG_ONGOING_EVENT)
                .setPriority(Notification.PRIORITY_HIGH)
                .setContentTitle(notificationDetails.getSubject())
                .setContentText(notificationDetails.getMessage())
                .setColor(context.getResources().getColor(R.color.colorPrimary))
                .setOngoing(true);
并设置 FLAG_ONGOING_EVENT 和方法 setOngoing(true)。
但几秒钟后,通知继续消失。我希望通知仅在用户单击时消失。谢谢你。
实际上可以使提醒通知持久化。诀窍是使用setFullScreenIntent. 如果您不希望通知具有全屏版本,则可以使用不会实际启动任何活动的虚拟意图,如下所示:
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, new Intent(), 0);
notificationBuilder.setFullScreenIntent(pendingIntent, true);
这是一种黑客行为,但这种行为是有道理的。如果应用程序尝试显示全屏通知,则它必须是重要事件,例如闹钟或电话。如果手机决定不显示全屏通知,它可能仍会显示一些持久的内容,直到用户采取行动。
这适用于我测试过的手机,但没有记录该行为,因此无法保证。
小智 8
在 Honor 和华为设备上观察到此问题。您可以尝试通过使用AndroidManifestsetFullScreenIntent并向其添加权限来修复它。
代码:
PendingIntent pIntent = PendingIntent.getActivity(this, 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT);
notificationBuilder.setFullScreenIntent(pIntent, true);
AndroidManifest.xml:
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
| 归档时间: | 
 | 
| 查看次数: | 3034 次 | 
| 最近记录: |