Android中finish掉其它的Activity
阿新 • • 發佈:2019-01-27
在Android開發時,一般情況下我們如果需要關掉當前Activity非常容易,只需要一行程式碼 this.finish;即可。
那麼,如果是想要在當前Activity中關掉其它的Activity應該怎麼實現呢?
比如更改了某個設定,程式需要重新執行並載入新的配置檔案,就要用到restart或finish讓程式重啟。
可以參考下面的程式碼:
推薦使用第一種方法,因為finish掉一個Activity再啟動該Activity比重啟整個程式要快一些。
1.對於簡單的兩個Activity,在B介面finish掉A介面: 先在A中將自己賦給test_a
1 2 3 4 5 6 7 8 9 10 |
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
1 2 3 4 5 6 7 8 |
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重新執行程式
1 2 |
ActivityManager
manager = (ActivityManager)getSystemService(ACTIVITY_SERVICE); manager.restartPackage(packageName);
|
3.或者這樣退出並重新執行。
1 2 3 4 5 |
//退出第一個Activity介面
System.exit(0);
//重新載入MainActivity介面實現重新整理效果
Intent
intent = new Intent(Settings. this ,
MainActivity. class );
startActivity(intent);
|