java - 卸载应用程序后创建新用户而不是从 Firebase 获取用户 ID

标签 java android firebase firebase-authentication

我的应用程序在启动期间创建匿名用户 ID,但在卸载之后我的应用程序使用新 ID 创建新用户。如何获取卸载之前的userID

我的匿名登录代码:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

    mAuth = FirebaseAuth.getInstance();
    
    
            if(mAuth.getCurrentUser() == null){
                createUser();
            }else{
                user = mAuth.getCurrentUser();
            }

  }

 public void createUser() {


        mAuth.signInAnonymously().addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if(task.isSuccessful()){
                    Log.d("TAG", "signIn: succes");
                }else{
                    Log.w("TAG", "signIn: fail");
                }
            }
        });

    }

最佳答案

您可以使用 Firebase 身份验证创建并仅使用临时匿名帐户来通过 Firebase 进行身份验证。 匿名身份验证帐户在应用程序卸载后不会保留。卸载应用程序时,本地保存的所有内容都将被删除,包括标识该帐户的匿名身份验证 token 。 不幸的是,没有简单的方法可以为用户回收该 token

相反,您应该鼓励所有用户使用受支持的帐户提供商(GoogleFabcebookTwitter 等)完全登录)以便他们可以从所有设备登录,而不必担心丢失数据。

关于java - 卸载应用程序后创建新用户而不是从 Firebase 获取用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47136603/

相关文章:

android - Google Apps 中的简介屏幕

firebase - 将 Firebase 身份验证限制到特定域

objective-c - 填充餐 table 带有firebase中的图像

java - 如何使用 Java 和 Webdriver 验证下拉列表中的所有可用选项

java - 为什么我在尝试从 Android 访问 Gmail 时收到 javax.mail.NoSuchProviderException?

java - 如何同步多个线程访问一些公共(public)数据

java - 如何在 android 的复合绘图中获取 imageview 引用?

android - 如何从Android应用程序打印数据到WIFI打印机?

android - FCM 安卓数据报文

java - Android 中的内联日期选择器