我有一个Android应用程序,每次启动都需要运行异步任务...不是每次我打开一个活动,但每次应用程序启动时。我不认为活动生命周期会帮助我,所以我正在寻找建议。
答案 0 :(得分:2)
创建Application的子类,覆盖其onCreate()
,然后通过将其完整的类名设置为&#39; android:name&#39;的值来告诉Android使用您的子类。在您的Android清单中<application />
。
<application
android:name="com.yourpackage.YourApplicationSubclass"
....
/>
现在有更详细的信息:
android.app.Application
是代表您的应用程序的基类。虽然您通常不需要继承应用程序,但这样做可以让您有机会了解应用程序的生命周期,而不仅仅是您的活动,意图和服务&#39; ;
您需要做的就是创建一个新的Application类的子类:
import android.app.Application;
public class MyApplication extends Application
{
@Override
public void onCreate() {
// Do stuff when the application starts
}
}
然后如上所述更新了AndroidManifest.xml。
答案 1 :(得分:0)
将此开始活动标记为您的清单中的主要内容
<activity
android:name="com.your.package.name.activityName"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
为其目标为主要开始活动的每个意图添加一个布尔额外值。当主要活动开始时,如果意图没有boolen extra,则创建异步任务。如果存在,则布尔额外意味着具有父项而不是应用程序的开始。
以下是有关Async Task
的更多信息http://developer.android.com/reference/android/os/AsyncTask.html