目标:我的目标是当用户点击通知时,在前台启动Android活动。如果应用程序的任务打开,点击通知会关闭通知抽屉,活动会在前台打开,正如预期的那样。
问题:但是,如果没有打开应用程序的任务,则在点击通知时,通知抽屉仍在前台,活动仅在后台打开。
问题:无论应用程序是否打开了任务,如何告诉Android关闭通知抽屉并将打开的活动放在前台?
代码片段:
val intent = Intent(context, SplashActivity::class.java)
intent.addFlags(
Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_SINGLE_TOP
)
val pendingIntent = PendingIntent.getActivity(context, 0, intent, 0)
NotificationCompat.Builder(context, channelId)
.build(title, text, icon, pendingIntent)
您可以使用PendingIntent
来完成此操作。
查看如何从通知启动活动。希望这能有所帮助。
如果我说得对,您希望在活动打开时关闭通知抽屉。因此,当您从通知中打开活动时,请在代码中添加这两行。
Intent x = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(x);