我在android中有一个问题。 如果我的活动类与外部库交互。我正在处理它的这个库必须在应用程序进入后台或返回前台时执行一些过程。
有没有办法知道应用程序何时进入后台。
注意:我不想在活动中做任何事情。调用onPause时,我不想将回调发送到库。
由于
答案 0 :(得分:3)
如果我了解您的问题,您可以使用Application.registerActivityLifecycleCallbacks并实施自己的Application.ActivityLifecycleCallbacks。
类似的东西:
class myActivityLifecycleHandler implements ActivityLifecycleCallbacks{
// Methods implementation here
}
yourActivity.getApplication().registerActivityLifecycleCallbacks(new myActivityLifecycleHandler())
答案 1 :(得分:0)
当应用程序进入后台时,您可以在某个文件中写入。
然后你的图书馆可能会花时间检查这个文件。
答案 2 :(得分:0)
Application.registerActivityLifecycleCallbacks
确实是您想要使用的正确api。不幸的是它确实是API14 +,所以你有以下选择:
使用this library来实现activitylifecycle回调。您将不得不在您正在处理的应用程序中扩展您的活动,但无论您需要什么,只需要API14支持,就必须采取一些措施。
实施此库后,您可以在回调中创建int
计数。对于每个活动,每次onStart()
和onStop()
回调都可以递增和递减此计数。
计数将从0 - >开始。 1应用程序打开,1 - > 0应用关闭/背景。满足这些条件后,您可以拨打电话。
请记住,当您对应用程序进行后台处理时,操作系统可以随时将其删除。如果您有任何数量的网络或任何长的网络,请启动服务以尽快处理它。
答案 3 :(得分:-1)
覆盖onPause活动方法,当活动进入后台时调用onPause