阻止app在后台运行时清除应用程序数据

时间:2015-02-25 13:19:14

标签: android erase kill-process application-data

我正在开发一个与gps相关的android应用程序。即定期向服务器发送位置信息。有时我在某些设备上遇到进程查杀问题。

如果我的应用程序在前台运行,那么它的工作文件。但是,当我们最小化应用程序并将其移至后面或手机进入睡眠状态时,应用程序会自动清除所有应用程序数据和变量。然后当我们尝试恢复活动时,它显示空白信息并生成异常。

如何在应用程序在backgtound中运行时防止清除应用程序数据?我想保留这些信息。这个问题只出现在某些设备上,而不是全部。

我也尝试过对谷歌的研究,但没有得到任何好的解决方案。

请帮帮我。谢谢。

1 个答案:

答案 0 :(得分:0)

你不能这样做。如果您希望应用程序继续将数据发送到远程服务,即使该应用程序位于后台,您也需要长时间运行Service。请记住,服务默认在主线程中运行,因此您需要在后台线程中使用服务器运行您的通信(但是您喜欢它,asynctask,wtv)。然后,为了确保Android在内存不足时不会终止您的服务,您需要将服务设置为带有通知的foreground service

这样,即使您的应用程序被发送到后台,您也确定Android会继续进行通信。