Android 从服务启动 Activity 而不启动应用程序的其他 Activity

标签 android android-activity start-activity launchmode

我在检测到 IncomingCall 时开始使用 Theme.Dialog 的 Activity ;然而,当我开始我的对话 Activity 时,它隐藏了来电屏幕,这不是我想要的行为。我想单独启动该对话 Activity ,以便它出现在来电屏幕的顶部,而不是出现在来电屏幕顶部的整个应用程序。我在 list 中使用了 SingleTask 和 NEW_TASK 标志,并使用了各种上下文。 作为提示,我想做一些类似 TrueCaller Android App 的事情。

最佳答案

您需要确保带有对话框主题的 Activity 与您应用的其余部分具有不同的任务关联性。否则,如果您的应用正在运行,启动该 Activity(即使使用 FLAG_ACTIVITY_NEW_TASK)只会将现有任务向前推进,并将您的 Activity 置于其之上。

您应该将以下内容添加到此特定 Activity 的 list 中:

android:taskAffinity=""
android:noHistory="true"
android:excludeFromRecents="true"

注意:设置 noHistoryexcludeFromRecents 可确保此任务不会出现在“最近的任务列表”中。

关于Android 从服务启动 Activity 而不启动应用程序的其他 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16037183/

相关文章:

Android getLastKnownLocation(LocationManager.GPS_PROVIDER) 返回 null

java - 从上面的 Activity 调用 viewpager 的 asynctask

android - 如何在android中的两个 Activity 之间传输数据

android - 有没有办法在收到推送通知时将应用程序带到前台?

java - onActivityResult 无法正常工作

java - 如何从适配器打开新 Activity ?

android - 发布 Json 对象数据以在 android 中使用 volley 获取 Json 数组响应

java - 当运行启用了 proguad 的版本变体时,Gson 映射到 pojo 会返回 null,即使添加了 @SerializedName

android - 重新启动任务中的所有 Activity

android - 对话框 fragment 中的 onActivityResult