我有一个IntentService每小时刷新一次服务器的数据(不推送通知)。如果有任何新数据,它应该在应用程序内部时更新界面,或者当我的应用程序不在前台时发送通知。 我的问题是:如果我的应用程序在前台运行,我如何确定哪个应用程序在前台运行或更容易? 我不需要知道什么活动,只是我的应用程序的一般包名是完全正常的!确定我的应用程序是否在前台
两件事至今我会反对用我发现:
- ActivityManager.getRunningTasks() - 它被弃用,由谷歌提到在未来
- usagestats机可能会破坏 - 看起来不错,但如果用户必须提供我的应用UsageStats权限,那真的很不方便。
我有点困惑,为什么我无法找到解决方案..我认为这不是一个不寻常的做法或任何其他。
谢谢!
[检查,如果一个Android应用程序在后台运行]的可能的复制(http://stackoverflow.com/questions/3667022/checking-if-an- android-application-is-running-in-the-the-background) –
可能的重复[如何判断Android应用是否在前台运行?](http://stackoverflow.com/questions/5504632/how-can-我告诉,如果Android应用程序运行在前台) – K2evil
谷歌解决方案在这里:https://stackoverflow.com/a/48767617/1269737 – user1269737