Xamarin.Essentials SecureStorage не сохраняется в Android после обновления игрового магазина

В моем приложении Xamarin.Forms я хотел бы сохранить информацию о пользователе/маркере при обновлении игрового магазина. В iOS он работает должным образом, данные сохраняются даже после удаления/переустановки вручную.

Я прошел все этапы инициализации Essentials на Android в MainActivity:

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);

        Xamarin.Essentials.Platform.Init(this, savedInstanceState);
        global::Xamarin.Forms.Forms.Init(this, savedInstanceState);

       [...]
    }

    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
    {
        Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);

        base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }

И данные сохраняются так:

await SecureStorage.SetAsync("token", user.MobileServiceAuthenticationToken);

Как я могу добиться того же поведения, что и в iOS, в Android?


person Kiske1    schedule 02.10.2019    source источник
comment
docs.microsoft.com/en-us/xamarin/ Essentials/ Если вы посмотрите на самый первый совет, то поймете, почему. Вам нужно отключить автоматическое резервное копирование.   -  person Andres Castro    schedule 02.10.2019


Ответы (1)


Чтобы решить эту проблему, вам нужно добавить это в файл манифеста.

<application android:allowBackup="false" ... >
</application>

который отключает автоматическое резервное копирование. Вот краткий обзор автоматического резервного копирования. Вы должны быть в состоянии убедиться, что это решит проблему, удалив Google Диск, где обычно хранится резервная копия.

person Saamer    schedule 02.10.2019
comment
Я попробую и дам вам знать как можно скорее! - person Kiske1; 03.10.2019