我正在制作一个 Android 应用程序,它将包含两项服务,每 24 小时持续发送一次有关用户手机使用情况的数据。
用户应该执行该应用程序,切换按钮以启用手机使用记录,然后用户应该能够使用他的手机进行正常生活,直到他再次启动该应用程序并禁用切换按钮停止记录信息。
- 关于服务的生命周期,我应该考虑哪些因素?
- 当服务应该发送数据时,用户与手机的交互如何?
非常感谢所有信息,因为这一切让我有点不知所措!
非常感谢大家!
最佳答案
可以通过设置菜单随时切断服务。如果 Android 决定它需要当前正在运行的 Activity 的资源,它也可以随时被 Android 杀死。 onDestroy()
无论如何都会被调用,所以用它来存储任何需要的东西。
该服务在后台运行,但通过主 UI 线程运行。因此,可以通过服务来阻止电话的操作。当它真的是一项试图做某事的服务时,看起来电话被锁定了。任何阻塞过程都应该在线程中使用,例如 Java 定时器、Java 线程或 AsyncTask。
在任何给定时间只能有一个运行版本的服务。但是,如果“myService”已经在运行,则调用 startService(myService)
将实质上覆盖当前正在运行的服务,并且将再次调用 onStartCommand()
。但是,无论 startService(myService)
被调用多少次,都需要调用一次 stopService(myService)
来停止它。
stopService(myService)
如果服务绑定(bind)到任何东西,则不会停止该服务。它将等到所有绑定(bind)都被删除后才会停止服务。
关于安卓服务 : life cycle considerations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6926415/