1. 程式人生 > >[踏石留印之Android] 監聽activity的狀態(Create\Destroy)進行響應

[踏石留印之Android] 監聽activity的狀態(Create\Destroy)進行響應

最近在做串列埠資料處理時需要監聽某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的生命週期回撥介面。