2014年2月5日

Android─Service 如何關閉 Activity

步驟一

我們先在Activity裡面加入一個BroadcastReceiver class 我們命名為close_myself,在onReceive method 裡面加入收到廣播後要做的事情
這裡我們做的就是finsih(),讓activity自行關閉
private final BroadcastReceiver close_myself = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
              finish();                                   
        }
};

步驟二

我們可以在Activity在 oncreate 時先註冊 Broadcast 要接收的名稱─CloseExampleAct
當我們接收到CloseExampleAct,去執行close_myself這個BroadcastReceiver。

@Override
      protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_rtsp_server);
      registerReceiver(close_myself, new IntentFilter("CloseExampleAct"));
      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

步驟三

接著,你只需要在Service需要關閉Activity的地方加入下面的程式碼
sendBroadcast(new Intent("CloseExampleAct"));
Service就會送出CloseExampleAct廣播出去,有註冊的Activity收到後,就會做相對應的動作

參考網頁


沒有留言:

張貼留言