我是Android开发的初学者。我想建立一个曾经开始的服务,必须继续运行。
第1步。)一旦用户安装应用程序给出一些输入,服务就会启动。 (我将使用IntentService )
第2步。)现在,用户转移到其他应用/关闭我的应用。我想确保Service应该继续运行并使用当前时间戳处理/保存信息。
问题:
1。)我是如何确保服务继续运行/保存数据,即使用户在我的应用上说1个月后返回也是如此。
2。)我读到每个应用都是新用户,Android提供单独的VM,问题是应用被视为关闭时?
3。)如果我的应用关闭,相关服务也会关闭吗?
答案 0 :(得分:3)
1.) How I make sure that the service keeps running/saving data even if user returns after say, 1 month on my app.
用户安装应用后,您可以启动STICKY
service,但请确保通过foreground
on going notification
运行该用户以及Android操作系统。它可以帮助您的服务长时间运行,而不会被Android操作系统杀死。
1个月是很长一段时间,用户可能会重启之间的小区。你需要重新启动你的服务。所以你应该注册重启完成event。
2.) I read that every app is a new user and separate VM is provided by the Android, question is when an app is considered to be closed?
没有像被认为是关闭的条件。实际上,当用户安装应用时,默认情况下它处于stopped
模式,当用户第一次打开您的应用时,它会被激活。只要用户stopped
您的应用,应用就可以再次返回force stop
模式。
3.) If my app closes, related services will also close then?
如果您认为在用户不使用该应用时该应用被视为已关闭,则除非Android操作系统在内存不足的情况下将其杀死,否则您的服务将无法关闭。您可以将其设为{{1}如前所述,传达Android操作系统foreground