Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android中的廣播退出機制broadcast

android中的廣播退出機制broadcast

編輯:關於Android編程

當我們在一個anctivity中需要關閉其他已經打開的activity的時候,廣播退出機制是一個比較好的辦法   下面來看源碼,首先,我們需要先寫一個父類:BaseActivity.java    
package com.createnets.www;  
  
import android.app.Activity;  
import android.content.BroadcastReceiver;  
import android.content.Context;  
import android.content.Intent;  
import android.content.IntentFilter;  
  
public class BaseActivity extends Activity {  
    protected BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {    
        @Override    
        public void onReceive(Context context, Intent intent) {    
            finish();    
            //殺死進程  
            android.os.Process.killProcess(android.os.Process.myPid());    
        }    
    };    
        
    @Override    
    public void onResume() {    
        super.onResume();    
        // 在當前的activity中注冊廣播    
        IntentFilter filter = new IntentFilter();    
        filter.addAction("ExitApp");    
        this.registerReceiver(this.broadcastReceiver, filter);    
    }    
        
    @Override    
    protected void onDestroy() {    
        // TODO Auto-generated method stub    
        super.onDestroy();    
        this.unregisterReceiver(this.broadcastReceiver);      
    }    
}  

 

  然後呢,我們只需要子類去繼承這個父類就行:     然後,我們需要在需要退出的activity,或者是“退出” 按鈕所在的activity中加入close()函數即可,然後調用這個函數    
//關閉activity,只在需要退出的界面中使用  
    public void close() {    
        Intent intent = new Intent();    
        intent.setAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); // 說明動作    
        this.sendBroadcast(intent);// 該函數用於發送廣播    
        super.finish();    
    }    

 

 
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved