Java 有没有办法让通知在用户与交互之前始终可见?

Java 有没有办法让通知在用户与交互之前始终可见?,java,android,notifications,Java,Android,Notifications,Android提醒通知会出现几秒钟,然后从主屏幕消失,并停留在状态栏和通知抽屉中。在用户交互之前,有没有办法在主屏幕上显示弹出的通知?您需要为收到通知时打开的活动创建新的活动。 收到通知后,您需要将数据中的有效负载设置为密钥对值,否则将由Android操作系统处理 这将有助于- 您需要为收到通知时将打开的活动创建新活动。 收到通知后,您需要将数据中的有效负载设置为密钥对值,否则将由Android操作系统处理 这将有助于- 如果您不介意将通知变成一个快捷键,您可以显示一个直到用户与之交互后才会消失

Android提醒通知会出现几秒钟,然后从主屏幕消失,并停留在状态栏和通知抽屉中。在用户交互之前,有没有办法在主屏幕上显示弹出的通知?

您需要为收到通知时打开的活动创建新的活动。 收到通知后,您需要将数据中的有效负载设置为密钥对值,否则将由Android操作系统处理

这将有助于-


您需要为收到通知时将打开的活动创建新活动。 收到通知后,您需要将数据中的有效负载设置为密钥对值,否则将由Android操作系统处理

这将有助于-


如果您不介意将通知变成一个快捷键,您可以显示一个直到用户与之交互后才会消失的通知:

public void showSnakbarIndef(final View rootView, String message, String actionMessage) {
        Snackbar.make(rootView, message, Snackbar.LENGTH_INDEFINITE)
                .setAction(actionMessage, new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        //exit or other action according to notification
                    }
                })
                .show();
    }

如果您不介意将通知变成一个snackbar,您可以显示一个直到用户与其交互后才会消失的通知:

public void showSnakbarIndef(final View rootView, String message, String actionMessage) {
        Snackbar.make(rootView, message, Snackbar.LENGTH_INDEFINITE)
                .setAction(actionMessage, new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        //exit or other action according to notification
                    }
                })
                .show();
    }
Notification.Builder
中使用
setconsuming(true)
setAutoCancel(true)
,如下所示:

notification = new Notification.Builder(getApplicationContext())
          .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
          .setSmallIcon(R.drawable.ic_launcher)
          .setOngoing(true)
          .setAutoCancel(true)
          .setContentText(contentText)
          .setContentIntent(contentIntent)
Notification.Builder
中使用
setconsuming(true)
setAutoCancel(true)
,如下所示:

notification = new Notification.Builder(getApplicationContext())
          .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
          .setSmallIcon(R.drawable.ic_launcher)
          .setOngoing(true)
          .setAutoCancel(true)
          .setContentText(contentText)
          .setContentIntent(contentIntent)

这样,用户将无法完全取消通知,除非他们将频道完全静音。已编辑。谢谢@Nikoshidalgoth这种方式用户将无法完全取消通知,除非他们将频道完全静音。已编辑。谢谢你@NikosHidalgo