如何使用按钮重新启动应用程序并清除所有数据
How to restart app and clear all data with Button
如果您转到 phone 上的程序信息,您将看到删除所有数据。问题是如何在MainActivity中的Java中完成并重启。甚至可以这样做吗?
我需要这个才能退出。在我的项目 (MainActivity) 中,有一个通过 Google 和电子邮件和密码登录。当我调用 signOut () 函数时,我并没有注销我的帐户。为了让生活更轻松,我决定清理并重新启动。
Button btnClearAndRestart = findViewById(R.id.btn);
btnClearAndRestart.setOnClickListener(new View.OnClickListener(){
//Delete all app data and restart app
});
public boolean clearApplicationUserData ()
Return:如果应用程序成功请求擦除应用程序的数据,则为真;否则为假。
我们在申请截止前有一名海归。所以,我们将使用这个返回者来重新启动应用程序。
if(ActivityManager.clearApplicationUserData)
{
doRestart = true;
}
当Activity onDestroy() 和 onStop() 被调用时重启应用程序。
@Override
protected void onDestroy() {
super.onDestroy();
if(doRestart){
Intent intent = new Intent(this, Activity.class);
this.startActivity(intent);
}
}
@Override
protected void onStop() {
super.onStop();
if(doRestart){
Intent intent = new Intent(this, Activity.class);
this.startActivity(intent);
}
}
我们将重启操作放在 onDestroy() 和 onStop() 中,以确保应用程序将再次重启。
而且,我认为在 OS 停止之前强行停止 activity 是个好主意。
if(ActivityManager.clearApplicationUserData)
{
doRestart = true;
finish(); <= i mean this
}
这是因为,它确保将调用 onDestroy() 和 onStop()。
如果您转到 phone 上的程序信息,您将看到删除所有数据。问题是如何在MainActivity中的Java中完成并重启。甚至可以这样做吗?
我需要这个才能退出。在我的项目 (MainActivity) 中,有一个通过 Google 和电子邮件和密码登录。当我调用 signOut () 函数时,我并没有注销我的帐户。为了让生活更轻松,我决定清理并重新启动。
Button btnClearAndRestart = findViewById(R.id.btn);
btnClearAndRestart.setOnClickListener(new View.OnClickListener(){
//Delete all app data and restart app
});
public boolean clearApplicationUserData ()
Return:如果应用程序成功请求擦除应用程序的数据,则为真;否则为假。
我们在申请截止前有一名海归。所以,我们将使用这个返回者来重新启动应用程序。
if(ActivityManager.clearApplicationUserData)
{
doRestart = true;
}
当Activity onDestroy() 和 onStop() 被调用时重启应用程序。
@Override
protected void onDestroy() {
super.onDestroy();
if(doRestart){
Intent intent = new Intent(this, Activity.class);
this.startActivity(intent);
}
}
@Override
protected void onStop() {
super.onStop();
if(doRestart){
Intent intent = new Intent(this, Activity.class);
this.startActivity(intent);
}
}
我们将重启操作放在 onDestroy() 和 onStop() 中,以确保应用程序将再次重启。
而且,我认为在 OS 停止之前强行停止 activity 是个好主意。
if(ActivityManager.clearApplicationUserData)
{
doRestart = true;
finish(); <= i mean this
}
这是因为,它确保将调用 onDestroy() 和 onStop()。