Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android使用廣播退出應用

Android使用廣播退出應用

編輯:關於Android編程

應用開發時需要處理安全退出應用,之前研究過Foursquare的代碼,發現它用的是廣播機制來處理退出應用。


public class BaseActivity extends Activity
{
    private static final String TAG = BaseActivity.class.getSimpleName();
    
    public static final String INTENT_ACTION_LOGGED_OUT = "INTENT_ACTION_LOGGED_OUT";
    
    private BroadcastReceiver mLoggedOutReceiver = new BroadcastReceiver()
    {
        @Override
        public void onReceive(Context context, Intent intent)
        {
            Log.d(TAG, "onReceive: " + intent);
            finish();
        }
    };
    
    @Override
    protected void onCreate(Bundle arg0)
    {
        
        super.onCreate(arg0);
        registerReceiver(mLoggedOutReceiver, new IntentFilter(
                INTENT_ACTION_LOGGED_OUT));
    }
    
    @Override
    protected void onPause()
    {
        
        super.onPause();
        if (isFinishing())
        {
            unregisterReceiver(mLoggedOutReceiver);
        }
    }
    
}

讓每個Activity繼承BaseActivity, 當推出應用的時候,發送一條廣播,應用就能安全的退出。


網上有另外一種退出方法:在Application中用List記錄打開的Activity的context,在退出的時候,遍歷List,依次fiinish activity,這種方法的問題是會一直持有改Activity的context, 使之不能及時釋放資源,如果跳轉的頁面很多的話容易照成OOM

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