android - Activity 在未决意图中创建了两次
问题描述
我对创建两次的活动有疑问。
当通知出现时,由于全屏意图,活动将出现。这时候我按下home键,点击通知,Activity实际上又被创建了。
我尝试使用单顶,但没有奏效。日志显示相同的任务,但哈希值不同。
Log.e("Task", "task id: $taskId, hash: ${hashCode()}")
val pendingIntent = PendingIntent.getActivity(context, 0, Intent(context, MainActivity::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
}, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE)
val builder = NotificationCompat.Builder(context, "Alarm")
.setSmallIcon(R.drawable.ic_launcher_background)
.setContentTitle("Title")
.setContentText("Content")
.setContentIntent(pendingIntent)
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setFullScreenIntent(pendingIntent, true)
解决方案
推荐阅读
- javascript - 跳过字符串的一部分并用正则表达式替换匹配
- android-studio - Android Studio 4.0.1 丢弃连接的设备
- c++ - 根据模板类型使类成员变量可选的非详细解决方案?
- javascript - 获取端点时,Spotify API 收到错误“未提供令牌”
- java - 什么客户端 Linux / Liberty / HttpComponents 配置可以防止请求被错误识别为小窗口攻击?
- python-3.x - 有人可以帮我找到一种方法将列表扩展到特定索引处的另一个列表吗?
- javascript - 使用 Extendscript (JavaScript) 逐步更改 Indesign Swatch
- android - 清除 backstack 中的所有活动并重新启动 main 活动
- ruby-on-rails - 在 Rails 6 中:Parallax 在开发中有效,但在生产中无效
- sql - 将 Varchar(6) 重新格式化为时间格式