java - 仅在 Activity 未显示时显示通知

标签 java android android-intent android-service android-asynctask

我有一个后台任务要处理。问题是,当任务完成时,我想调用一个新的 Activity 来向用户显示结果,前提是我的主要 Activity 正在显示,否则我只想发送一个通知,以便用户可以看到该操作完成,随时可以打开。

我正在考虑使用服务来处理后台任务的启动和终止,并在它完成时广播一条消息,但在这种情况下,我无法知道是显示了 Activity 还是未处理广播,并且我应该发送通知。

所以这是我的问题,因为我在后台任务和服务方面的知识和经验有限,所以我决定寻求帮助。

在此先感谢您阅读我的案例,希望对您有所帮助!

最佳答案

这里有一篇很好的文章,描述了如何实现您想要的:Activity or Notification via Ordered Broadcast .

主要思想是使用有序广播。您应该创建一个没有任何 Activity 的 BroadcastReceiver。为此,您应该在 AndroidManifest.xml 文件中声明它。此接收器将显示一个 Notification。此外,您还应该在主要 Activity 中注册另一个具有更高优先级的 BroadcastReceiver,这将在屏幕上显示一些内容。然后你只需要发送一个有序的广播。

关于java - 仅在 Activity 未显示时显示通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7191413/

相关文章:

android - 使用 andengine 在动态壁纸中显示当前时间的最佳方式是什么?

java - 货币转换器 API 在 Android 中不起作用

java - Android MainActivity 打印/将值转换为 0/null?

java - 如何在两个 Activity 之间传递类对象?

android - 从 Activity 中的 fragment 返回到另一个或旧 Activity

大于/小于 : <> are they class specific? 的 Java 语法

c# - 将许多矩形组合成更少的矩形

android - 室内 GPS 演示

Java opengl 立方体渲染

java - 如何使用 String 的 Controller 和 RestTemplate 设置多个参数?