[踏石留印之Android] 監聽activity的狀態(Create\Destroy)進行響應
阿新 • • 發佈:2019-01-05
最近在做串列埠資料處理時需要監聽某activity的狀態,以方便地開啟關閉串列埠,而監聽也非常簡單,鑑於我專案中已有繼承Application的BaseApplication類,用來設定全域性變數和重複使用的方法,以及為我的第三方SDK進行初始化操作。
BaseApplication:
要繼承Application,使用方法是在AndroidManifest.xml中為加上BaseApplication所在的包名+類名:
android:name="package.example.test.BaseApplication"
關於BaseApplication,它可以承擔Application層次的任務和功能,比如一些重複方法的提取等等。也因此適合監聽activity的狀態。
下面是具體程式碼:
private ActivityLifecycleCallbacks activityLifecycleCallbacks = new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
if (activity.getClass() == Drug_import_manual.class) {
//do something...
}
else if(activity.getClass()== Drug_search_manual.class) {
//do something...
}
}
//同樣道理
public void onActivityDestroyed(Activity activity) {
if (activity.getClass() == Drug_import_manual.class) {
//do something...
}
else if(activity.getClass()== Drug_search_manual.class) {
//do something...
}
}
最後在OnCreate中:
super.onCreate();
registerActivityLifecycleCallbacks(activityLifecycleCallbacks);
//註冊Activity的生命週期回撥介面。