Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
后台的Android活动_Android_Background_Onpause - Fatal编程技术网

后台的Android活动

后台的Android活动,android,background,onpause,Android,Background,Onpause,我有一个关于android的问题。 如果我的活动类与外部库交互。当应用程序进入后台或返回前台时,我正在处理的这个库必须进行一些处理 有没有办法知道应用程序何时进入后台 注意:我不想在活动中做任何事情。调用onPause时,我不想向库发送回调。 谢谢重写活动的onPause方法,当活动进入后台时调用onPause如果我理解您的问题,您可以使用并实现自己的方法 比如: class myActivityLifecycleHandler implements ActivityLifecycleCallb

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

有没有办法知道应用程序何时进入后台

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


谢谢

重写活动的onPause方法,当活动进入后台时调用onPause

如果我理解您的问题,您可以使用并实现自己的方法

比如:

class myActivityLifecycleHandler implements ActivityLifecycleCallbacks{
  // Methods implementation here 
}

yourActivity.getApplication().registerActivityLifecycleCallbacks(new myActivityLifecycleHandler())

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


然后,您的库可能会定时检查此文件。

应用程序。registerActivityLifecycleCallbacks确实是您想要使用的正确api。不幸的是,它确实是API14+,因此您有以下选项:

用于实现activitylifecycle回调。您必须在正在开发的应用程序中扩展活动,但无论如何都必须为此做些事情,因为您需要的支持少于API14

实现此库后,可以在回调中创建
int
计数。对于每个活动,此计数可以在每次
onStart()
onStop()
回调时递增或递减。 在应用程序打开时计数从0->1,在应用程序关闭/后台时计数从1->0。满足这些条件后,可以调用库


请记住,当你为你的应用设置背景时,操作系统随时都可以将其关闭。如果您有大量的网络或任何长时间的工作,请尽快启动一个服务来处理这些工作。

非常感谢,但这是针对api 14和更高版本的,我正在使用较低版本:)我也有同样的问题,老实说,我认为这是唯一一个不需要在onStart()、onStop等中编写代码的解决方案。。一个解决方案可以是这样做(在未被接受的答案中):…但我认为只有在你不必继续检查的情况下才可行谢谢,但不幸的是,在这种情况下,我必须不断检查。。因为我想在活动发送到后台后执行一些事件:)