user.delete()。addOnCompleteListener在实时数据库中不起作用

时间:2020-07-06 16:10:30

标签: android firebase firebase-authentication

我在我的应用中使用了匿名登录。因此,每当用户打开应用程序时,都会通过新的匿名帐户登录。结果,尽管用户很少(大约4到5),但是我的 Firebase身份验证部分中有400多个登录帐户。这就是为什么我想在用户关闭应用程序时删除用户(匿名帐户)的原因。因此,我使用了

user.delete().addOnCompleteListener( new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull Task<Void> task) {
        if (task.isSuccessful()) {
            Toast.makeText( Activity.this, "Deleted Successfully" , Toast.LENGTH_LONG).show();
        }
        else {
            Toast.makeText( Activity.this, "Failed" , Toast.LENGTH_LONG).show();
        }
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception e) {
        Toast.makeText( Activity.this, "Failed to delete" , Toast.LENGTH_LONG).show();
    }
});

但是,问题是未显示吐司面包。那么,什么原因会导致此问题?我不知道该用户是否被删除。另外,如果可能的话,建议一些更好的方法来解决此问题。

1 个答案:

答案 0 :(得分:0)

这不是使用匿名帐户的方式。它们应在应用程序启动期间持续存在,以便您存储的每位用户数据将继续与用户相关联。每当有应用程序后台运行时删除帐户肯定会给您和用户造成混乱。

如果您想采取措施清除未使用的帐户,则应使用一些后端代码,该代码使用Firebase Admin SDK并定期deletes old user accounts,无论您决定使该帐户“变旧”的标准。