java - 如何从 26 API 以上的后台应用程序启动 Activity ?

标签 java android broadcastreceiver android-broadcast

我想在我的应用程序处于后台时从服务或广播中打开我的 Activity 。

我试过下面的代码

Intent intent = new Intent("android.intent.action.MAIN");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

它在以下 Android 26 API 上运行良好。但对于 26Api 以上,它不启动 Activity 。

它在 android LogCat 中提供流动信息

Timeline: Timeline: Activity_launch_request

最佳答案

Android 10 增加了“从后台启动新 Activity ”的限制。查看文档:Restrictions on starting activities from the background

有关施加这些限制的原因的更多详细信息,请查看 Chet Haase 的主题演讲。 GFM2019-Keynote-Chet Haase

关于java - 如何从 26 API 以上的后台应用程序启动 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59679471/

相关文章:

java - 如何将 spring batch jar 转换为 tomcat 上的可部署 war

android - 在不加载到内存的情况下获取位图宽度和高度

Android BroadcastReceiver处理多条消息

android - sendMultipartTextMessage ISms$Stub$Proxy.sendMultipartTextOnSubscription NullPointerException 异常

java - Java中新线程的调用堆栈信息

java - 如何清理生成的数据绑定(bind)文件?

java - 即使在更新模型成功后更新 RecyclerView 也失败

java - Android Studio 1.0.2 Kickflip.io 短类型处理错误

android - 如何显示离散 slider 的刻度线?

android - 为什么通知在android通知栏中出现一段时间然后消失