【轉】android絕對退出

import android.app.Activity;android

import android.content.BroadcastReceiver;app

import android.content.Context;ide

import android.content.Intent;this

import android.content.IntentFilter;spa

import android.os.Bundle;繼承

 

/**事件

  * MyAcitivty類說明:Acitivty的子類 基礎該類的子類必須實現onCreate 方法ci

  * 在該類中註冊了一個BroadcastReceiver 用於接收退出消息get

  * 在接收到消息以後結束自身it

*/

public abstract class MyAcitivty extends Activity

{

    /**

     * 負責各個具體 Activity 的顯示

    */

    public abstract void onCreate();

 

    @Override

    public void onCreate(final Bundle savedInstanceState)

    {

       super.onCreate(savedInstanceState);

       onCreate();

       RegListener();

    }

 

    /**

     * 註冊退出事件監聽

    */

    public void RegListener()

    {

       ExitListenerReceiver exitre = new ExitListenerReceiver();

       IntentFilter intentfilter = new IntentFilter();

       intentfilter.addAction(this.getPackageName() + "." + "ExitListenerReceiver");

       this.registerReceiver(exitre, intentfilter);

    }

       

    class ExitListenerReceiver extends BroadcastReceiver

    {

        @Override

        public void onReceive(Context arg0, Intent arg1)

        {

        ((Activity) arg0).finish();

        }

    }

}

 

 

其餘的Acitivty都去繼承這個類

退出只要註冊一下就能夠了

myActivity.sendBroadcast(new Intent(myActivity.getPackageName() + ".ExitListenerReceiver"));

 

惟一要注意的是跳出要用下面的

Intent intent = new Intent();

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

intent.setClass(context, myClass);

context.startActivity(intent);

相關文章
相關標籤/搜索