天天看點

Android程式退出徹底關閉程序的方法

第一種方法:

android.os.Process.killProcess(android.os.Process.myPid());       

第二種方法:在onDestroy函數中加入代碼

System.exit(0);       

第三種方法:

ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 

manager.killBackgroundProcesses(package);       

第四種方法:

manager.restartPackage(package);       

第五種方法:

Intent MyIntent = new Intent(Intent.ACTION_MAIN); 
MyIntent.addCategory(Intent.CATEGORY_HOME); 
startActivity(MyIntent); 
finish();       

第六種方法:使用廣播機制

public abstract class EnterActivity extends BaseActivity {  
...  

    // 寫一個廣播的内部類,當收到動作時,結束activity  

    private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {  
        @Override 
        public void onReceive(Context context, Intent intent) {  
            close();  
            unregisterReceiver(this); // 這句話必須要寫要不會報錯,不寫雖然能關閉,會報一堆錯  
        }  
    };  

    @Override 
    public void onResume() {  
        super.onResume();  
        // 在目前的activity中注冊廣播  
        IntentFilter filter = new IntentFilter();  
        filter.addAction(Attribute.PAGENAME);  
        registerReceiver(this.broadcastReceiver, filter); // 注冊  
    }  

    /** 
     * 關閉 
     */ 
    public void close() {  
        Intent intent = new Intent();  
        intent.setAction(Attribute.PAGENAME); // 說明動作  
        sendBroadcast(intent);// 該函數用于發送廣播  
        finish();  
    }  
...  
}       
請注意,這段代碼中缺少了登出代碼,(unregisterReceiver)這個是必須要加的。