首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何判断应用程序中是否有任何活动是有预见性的?

问如何判断应用程序中是否有任何活动是有预见性的?
EN

Stack Overflow用户
提问于 2010-03-11 01:31:53
回答 1查看 165关注 0票数 1

我有一个Android应用程序,它有一个定期的后台服务。根据我的应用程序中是否有任何活动是开放的,我希望此服务有不同的反应。问题是,服务只是通过AlarmManager保持运行,使其在某种程度上与活动处于独立的“轨道”上,所以我不知道应用程序在运行时是否处于打开状态。

我能想到的最好的解决方案是,每当在我的所有活动中调用onResume()或onPause()时,都要切换一个布尔值on/off,但这似乎是一项艰巨的工作。有没有更简单、更优雅的解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-11 02:48:15

有一个更简单、更优雅的解决方案吗?

嗯,这在一定程度上取决于“反应不同”的含义。

假设如果您的活动不在前台,则要引发Notification,但如果活动位于前台,则要弹出一个对话框。

在这种情况下,您无论如何都需要一些从服务到活动的通信路径。因此,用onResume()中的服务注册回调(由活动提供),然后在onPause()中取消注册。如果存在回调,则服务将使用回调;如果没有回调,则会引发Notification。

如果需要,可以使用广播Intent (在onResume()/onPause()中的活动中注册/注销接收方)完成同样的任务。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2421941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档