標籤:
在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