Android中finish掉其它的Activity


在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;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
.....
test_a = this;
}
}

再在B中調用並finish掉test_a

public class B_activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.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);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM