Android中finish掉其它的Activity

來源:互聯網
上載者:User

標籤:

在Android開發時,一般情況下我們如果需要關掉當前Activity非常容易,只需要一行代碼 this.finish;即可。
那麼,如果是想要在當前Activity中關掉其它的Activity應該怎麼實現呢?
比如更改了某個設定,程式需要重新運行並載入新的設定檔,就要用到restart或finish讓程式重啟。

可以參考下面的代碼:

推薦使用第一種方法,因為finish掉一個Activity再啟動該Activity比重啟整個程式要快一些。

1.對於簡單的兩個Activity,在B介面finish掉A介面: 先在A中將自己賦給test_a

public class A_activity extends Activity {public static A_activity test_a = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);.....test_a = this;}}

再在B中調用並finish掉test_a

public class B_activity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);A_activity.test_a.finish(); }}

  

其它方法:先退出程式,再運行程式。

2.通過ActivityManager重新運行程式

ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE); manager.restartPackage(packageName);

3.或者這樣退出並重新運行。

//退出第一個Activity介面System.exit(0);//重新載入MainActivity介面實現重新整理效果Intent intent = new Intent(Settings.this, MainActivity.class);startActivity(intent);

Android中finish掉其它的Activity

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.