歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

如何真真正正的退出Android應用

如何真真正正的退出Android應用,最簡單有效的方法,不看你會後悔。

大家開發項目時可能又會遇到,要求退出時完全退出該應用,不得有任何殘留的Activity,如何辦呢?

我搜了一圈網上大多都是什麼使用Intent跳轉到手機桌面,千篇一律啊,各種一樣啊,各種不能用啊

或者又有什麼:

ActivityManager activityMgr = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);

activityMgr.restartPackage(mContext.getPackageName());

或者出現什麼:

int pid = android.os.Process.myPid();

android.os.Process.killProcess(pid);   //殺死當前進程

大家發現了什麼沒有,是滴都不行滴,是的沒錯。以前看到一個視頻上講的用什麼建一個list,沒一個oncreat()時添加到list裡面去,好麻煩啊,受不鳥啊,

下面給大家介紹一種無比簡單的方法,不喜歡的大家再想辦法,我個人覺得簡單,方便才是王道。

首先創建一個BaseActivity,import大家自己加上,在裡面很簡單,聲明了一個廣播接收器,在接受裡面進行finish(),

其次就是接受器的注冊與銷毀分別在onResume()和onDestory()中。

  1. public class BaseActivity extends Activity {    
  2.     protected BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {    
  3.         @Override    
  4.         public void onReceive(Context context, Intent intent) {    
  5.             finish();    
  6.         }    
  7.     };    
  8.         
  9.     @Override  
  10.     protected void onResume() {    
  11.         super.onResume();    
  12.         // 在當前的activity中注冊廣播     
  13.         IntentFilter filter = new IntentFilter();    
  14.         filter.addAction("ExitApp");    
  15.         this.registerReceiver(this.broadcastReceiver, filter);    
  16.     }    
  17.         
  18.     @Override    
  19.     protected void onDestroy() {    
  20.         // TODO Auto-generated method stub     
  21.         super.onDestroy();    
  22.         this.unregisterReceiver(this.broadcastReceiver);      
  23.     }    
  24.   
  25. }  

接下來大家可能已經猜到了,把你需要顯示的類,也就是跳轉時沒關閉過的,都extends BaseActivity,

當退出時只需發送一個廣播即可:

  1.         Intent intent = new Intent();    
  2.         intent.setAction("ExitApp");    
  3.         this.sendBroadcast(intent);    
  4.         super.finish();    

然後就沒了,是不是很簡單,鮮花在哪裡。
總結一下吧:
1:先創建一個BaseActiviey。
2:把需要關閉的Activity全部extends BaseActivity
3:關閉時放一個廣播就可

Copyright © Linux教程網 All Rights Reserved