有什么方法可以使通知始终可见,直到用户与之交互?

时间:2019-10-07 13:40:27

标签: java android notifications

Android Heads-up通知出现几秒钟,然后从主屏幕上消失,并停留在状态栏和通知抽屉中。在用户交互之前,是否有任何方法可以在主屏幕上显示弹出通知?

4 个答案:

答案 0 :(得分:0)

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

这将帮助-Android Activity as a dialog

How to handle notification when app in background in Firebase

答案 1 :(得分:0)

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

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();
    }

答案 2 :(得分:0)

setOngoing(true)中使用setAutoCancel(true)Notification.Builder,如下所示:

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)

答案 3 :(得分:0)

NotificationCompat.Builder 中的 setFullScreenIntent