1

我有一个关于android的问题。如果我的活动类与外部库交互。当应用程序进入后台或返回前台时,我正在处理的这个库必须执行一些进程。

有什么方法可以知道应用程序何时进入后台。

注意:我不想在活动中做任何事情。我不想在调用 onPause 时向库发送回调。

谢谢

4

4 回答 4

3

如果我理解您的问题,您可以使用Application.registerActivityLifecycleCallbacks并实现您自己的Application.ActivityLifecycleCallbacks

就像是:

class myActivityLifecycleHandler implements ActivityLifecycleCallbacks{
  // Methods implementation here 
}

yourActivity.getApplication().registerActivityLifecycleCallbacks(new myActivityLifecycleHandler())
于 2013-04-02T12:58:22.153 回答
0

当应用程序进入后台时,您可以写入一些文件。

然后你的图书馆可能会花时间检查这个文件。

于 2013-04-02T14:20:16.500 回答
0

Application.registerActivityLifecycleCallbacks 确实是您要使用的正确 api。不幸的是它确实是 API14+,所以你有以下选择:

使用这个库来实现活动生命周期回调。您将不得不在您正在处理的应用程序中扩展您的活动,但无论如何您都必须做一些事情,因为您需要少于 API14 的支持。

实现此库后,您可以在回调中创建int计数。这个计数可以每次递增和递减,onStart()onStop()为每个活动回调。计数将在应用程序打开时从 0 -> 1 开始,在应用程序关闭/背景时从 1 -> 0 开始。当满足这些条件时,您可以调用您的库。

请记住,当您在后台运行应用程序时,操作系统可以随时将其终止。如果您有任何数量的网络或任何时间,请启动服务以尽快处理所有这些。

于 2013-04-26T05:02:21.700 回答
-1

覆盖activity的onPause方法,当activity要背景时调用onPause

于 2013-04-02T12:48:28.573 回答