可能有更正式的方式来做到这一点,但这是我将如何做到这一点。
例如,我将假设只有两个活动,一个是您当前所在的活动(我称之为 FirstActivity),另一个是“帮助”活动(我将称之为 SecondActivity)。
在第一个(您要从中重新启动它的那个)中,您将有一个按钮来启动应用程序的重新启动。
restartButton.setOnClickListener(new OnClickListener(){
@Override
onClick(View v){
//when clicked it starts the helper activity and closes the one you're in
startActivity(new Intent(this, SecondActivity.class));
finish(); //or you could use FirstActivity.onDestroy(); if you want it completely dead
}
});
第二个活动:它的全部目的是让您基本上可以从您的应用程序重新启动您的应用程序(关闭其他所有内容,然后在此重新启动它)
Class SecondActivity extends Activity{
@Override
onCreate(Bundle savedInstanceState){
...
//it restarts the old activity so it's new and ends this one
startActivity(new Intent(this, FirstActivity.class));
finish(); //or you could use SecondActivity.onDestroy(); if you want it
}
}
这将完全重新启动第一个活动。我不确定它是否会像你希望的那样彻底,但真的没有另一种方法可以做这种事情 AFAIK。