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