Переключатель Unity для сохранения пароля работает безупречно в Unity, но не работает должным образом - PullRequest
0 голосов
/ 07 февраля 2020

У меня проблема с сохранением логина и пароля пользователя в PlayerPrefs. Хотя он очень хорошо работает в Unity (если пароль сохранен, тумблер включен при запуске), он не работает на Android (если пароль не сохранен, тумблер все еще включен при запуске). Перед сборкой для Android я проверяю, что переключатель выключен и пароль не сохранен. Вот мой код:

void LoadUserPassOnStart(){
        if(PlayerPrefs.HasKey("userSaved")){
            if(PlayerPrefs.GetInt("userSaved") == 1){
                loginEmail.text = PlayerPrefs.GetString("savedUsername");
                loginPassword.text = PlayerPrefs.GetString("savedPass");
                saveUserPassToggle.isOn = true;

                int saved = PlayerPrefs.GetInt("userSaved");

                Debug.Log(saved);
            }
            else if(PlayerPrefs.GetInt("userSaved") == 0)
            {
                saveUserPassToggle.isOn = false;
                Debug.Log("Called false");
            }
        }

    }

    void SaveUserPass(Toggle saveUserPassToggle){
        if(saveUserPassToggle.isOn){
            PlayerPrefs.SetString("savedUsername", loginEmail.text);
            PlayerPrefs.SetString("savedPass", loginPassword.text);
            PlayerPrefs.SetInt("userSaved", 1);
            Debug.Log("Saved");
        }
        else if(!saveUserPassToggle.isOn){
            PlayerPrefs.SetString("savedUsername", "");
            PlayerPrefs.SetString("savedPass", "");
            PlayerPrefs.SetInt("userSaved", 0);
            Debug.Log("Nulled");
        }
}

Я вызываю LoadUserPassOnStart в Start () {} и добавляю SaveUserPass к переключателю:

saveUserPassToggle.onValueChanged.AddListener(delegate{ SaveUserPass(saveUserPassToggle);});

Эта проблема сводит меня с ума, буду очень признателен за предложения.

Ответы [ 2 ]

1 голос
/ 07 февраля 2020

попробуйте использовать PlayerPrefs.Save(); после установки ключей.

0 голосов
/ 08 февраля 2020

Проблема была вызвана тем, что Android сохраняет информацию из PlayerPrefs даже после удаления игры.

...