如何使用按钮重新启动应用程序并清除所有数据

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()。