我正在将iOS应用程序移植到Android,并且在终端方面遇到了一些困难。 我希望应用程序在开始/进入前台时同步(即用户选择应用程序)以及应用程序进入后台时(例如,当进入主屏幕并开始使用其他应用程序时)。
在Android中有一种简单的方法吗? 我将onResume()和onPause()添加到我的活动中,但这将在活动恢复或暂停时触发,而不是在整个应用程序暂停时(并在每次用户执行某些操作时导致大量同步)时触发。 / p>
更新: 同步操作是一种服务,当应用程序需要从服务器获取新的/更新的信息时调用该服务。因此,这需要在应用程序由suer启动/恢复时(在一段时间不活动之后)完成,并且当用户主动停止使用应用程序时需要执行此操作。
答案 0 :(得分:0)
当活动进入后台时,
onPause() -> onStop()
方法将按顺序执行,只有onPause(),如果活动完全被其他活动看不到,onStop()方法将在onPause()之后执行。
onDestroy()
如果您调用finish()或系统中没有足够的内存并且系统将其销毁,则将执行方法。除非调用finish()方法,否则不能依赖于Destroy()方法。
最好使用onStop()
方法保存数据。
答案 1 :(得分:0)
nr4bt有一个有效点,取决于您所需的功能,这是一个不错的选择。
全局方法是在应用程序启动时启动Service
。
让Service
对您的同步操作负责,并为您的有效Activity
提供合适的回调。
让Service
知道您的有效/暂停/已停止Activity
。当最后一个完成时 - >做最后的同步并杀死Service