Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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_Xamarin.android - Fatal编程技术网

当Android应用程序启动并存在时运行代码

当Android应用程序启动并存在时运行代码,android,xamarin.android,Android,Xamarin.android,在我的应用程序中,我需要在应用程序关闭(暂停)时调用代码,然后在应用程序再次启动(恢复)时再次运行代码。例如,我调用一个web服务,该服务在应用程序启动或退出时同步数据。这在iOS中很容易,因为有中央应用程序恢复和挂起方法 我理解活动中的OnPause和OnResume,但是,是否有一个中心方法来处理这个问题?用户可以将应用程序留在Activity3上,稍后再回来,或者在另一个屏幕上,等等。我不希望在每个活动的OnPause和OnResume中都有相同的代码来处理“应用程序”启动和关闭代码例程

在我的应用程序中,我需要在应用程序关闭(暂停)时调用代码,然后在应用程序再次启动(恢复)时再次运行代码。例如,我调用一个web服务,该服务在应用程序启动或退出时同步数据。这在iOS中很容易,因为有中央应用程序恢复和挂起方法

我理解活动中的OnPause和OnResume,但是,是否有一个中心方法来处理这个问题?用户可以将应用程序留在Activity3上,稍后再回来,或者在另一个屏幕上,等等。我不希望在每个活动的OnPause和OnResume中都有相同的代码来处理“应用程序”启动和关闭代码例程

有什么建议吗


谢谢。

你可以用一种特定的方式来处理只处理OnReSuMe()和OnPoAuth[A]的活动,然后使每一个活动都从那个直接扩展而不是直接活动。p> 您可以在应用程序类中使用一些静态成员,新的activity base使用这些静态成员来跟踪状态或存储您需要的任何内容


此外,Application类还有一个onCreate()方法,该方法将在每次启动应用程序时运行。但是,应用程序没有暂停或恢复。

创建由所有其他活动扩展的主活动,并覆盖onPause和onResume

但是,如果要扩展另一个活动类(如ListActivity),您将面临的问题是


另一种方法是创建一个新类,该类扩展应用程序并重写其onCreate,创建一个充当onPause的静态方法,并由您的每个活动手动调用它。您不需要这样做。例如,在Web应用程序中不会这样做,因为Web应用程序中没有“应用程序关闭”或“应用程序再次启动”的概念。在这方面,Android应用程序很像Web应用程序。活动的设计是来来去去去的,每个活动都在很大程度上独立于其他活动进行操作,就像Web应用程序的网页一样。这个概念很好,只是每次活动恢复时onResume都会运行,所以每次使用应用程序时我都不能“启动时同步”。我不希望每次活动恢复时都运行此代码。我可能必须删除此功能,因为它不适合Android应用程序,就像它在iPhone应用程序上一样。好吧,然后在第一个活动中添加“开始时同步”代码,不管怎样调用super.onResume(),然后执行通用代码。只有常见的行为必须放在那里,您可以在任何子类上放置特定的操作。