创建一个类继承Application ,在启动应用的时候会先执行Application里的onCreate()方法,再执行Activity里的onCreate()方法。当Activity销毁的时候Application不被销毁。也可以通过Application传值。
重写onCreate()方法。
package com.example.hasee.handler;
import android.app.Application;
/**
* Created by hasee on 2016/8/30.
*/
public class BaseApplication extends Application {
private String text;
@Override
public void onCreate() {
super.onCreate();
text = "BaseApplication";
//API 14以上使用,可以用来监听Activity的活动状态
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle bundle) {
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
});
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
在AndroidManifest.xml中添加
<application
android:name=".BaseApplication"
调用类里的值
BaseApplication application = (BaseApplication) getApplication();
String s = application.getText();
textView.setText(s);
如果一个应用被别的应用启动,启动的页面不是主Activity,那么主Activity不执行Application也会被执行。