要在重新启动时打开主要活动,您应该调用
private void FinishActivity(){
this.finish();
}
在你的 onClick 事件之后startActivity(intent);
为了恢复您的活动,将当前活动类存储为共享首选项的字符串
之前在代码中调用以下方法moveTaskToBack(true);
private void storeCurrentActivity(){
SharedPreferences myPref =getSharedPreferences("APP_SHARED_PREF", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = myPref.edit();
editor.clear();
String packageName = this.getPackageName();
String className = this.getClass().getSimpleName();
editor.putString("lastactivity",packageName+"."+className);
editor.commit();
}
并将结果存储到共享首选项中
当您返回应用程序时,只需检查共享首选项
之后在您的主要活动中使用以下代码setContentView(R.layout.main_page);
String lastActivity= getLastActivity();
try {
Intent fooActivity = new Intent(this,Class.forName(lastActivity))
startActivity(fooActivity)
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
将此方法放在您的 MainActivity 中
private String getLastActivity(){
SharedPreferences myPref = = getSharedPreferences("APP_SHARED_PREF", Context.MODE_PRIVATE);
String lastActivity= myPref.getString("lastactivity","");
}
这可能对你有帮助
针对这个具体问题的解决方案
用下面的代码替换您的主页按钮操作
home.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(p1.this,MainActivity.class);
startActivity(intent);
storeCurrentActivity();
this.finish();
}
});
上面的代码将存储您的活动,即如果您在活动 p1 中,它会将 p1 存储为最后一个活动
还请删除onResume
Action