我的应用程序有一个场景。这如下: 我想在后台服务中使用倒数计时器,即使从堆栈中删除应用程序,它也会在后台运行。因为我想生成特定时间间隔的通知,即使应用程序不在堆栈中。 请告诉我如何在销毁应用程序后管理服务。 提前谢谢。
答案 0 :(得分:1)
服务是在后台运行而无需与用户直接交互的组件。由于服务没有用户界面,因此它不受活动生命周期的约束。
服务可以有两种形式:
1)已启动/未绑定:在这种情况下,应用程序组件通过调用 startService()启动服务,并且将继续在后台运行,甚至如果启动它的原始组件被销毁。例如,在启动时,服务将继续在后台无限期地播放音乐。
2)绑定:Android组件可以使用bindservice()将自身绑定到服务。只要绑定了其他应用程序组件,绑定服务就会运行。一旦他们解开,服务就会自行破坏。
服务不是线程,因此您必须在服务中实现线程。
答案 1 :(得分:0)
检查AlarmManager。
警报具有以下特征:
- 他们让你以设定的时间和/或间隔发射意图
您可以将它们与广播接收器结合使用,以启动服务并执行其他操作。
它们在您的应用程序之外运行,因此您可以使用它们来触发事件或操作,即使您的应用程序未运行,甚至 如果设备本身就是睡着了。
- 它们可以帮助您最小化应用的资源需求。您可以在不依赖计时器或持续运行的情况下安排操作 背景服务。
可以找到一个工作示例here。