如果我使用Xamarin.Essentials首选项存储数据,那么如何在Android Splash活动中检索该数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果我使用Xamarin.Essentials首选项存储数据,那么如何在Android Splash活动中检索该数据?相关的知识,希望对你有一定的参考价值。

如果使用Xamarin.Essentials Preferences类将应用程序首选项存储在键/值存储中。

Preferences.Set(“ my_key”,“ my_value”);

然后如何在应用程序的SplashActivity中将其取回?

[请注意,SO上有类似的问题/答案,已有9年历史了,答案指向不再存在的链接。

答案

android上,Xamarin.Essentials:首选项使用本机的“ SharedPreferences”,因此从SharedPreferences中取回通过Essentials存储的字符串,这将起作用:

var sharedName = $"{AppInfo.PackageName}.xamarinessentials.versiontracking";
var sharedPreferences = Application.Context.GetSharedPreferences(sharedName, FileCreationMode.Private);
var value = sharedPreferences.GetString(yourKey, null);

您可以通过以下链接查看Essentials的Android实现,以查看Xamarin的代码:

re:https://github.com/xamarin/Essentials/blob/develop/Xamarin.Essentials/Preferences/Preferences.android.cs

Note:我不相信Xamarin.Essentials Preferences或VersionTracking都使用初始化的Forms应用程序,因此您可以直接在SplashActivity中“直接”引用Essentials's Preferences API,而不是直接使用使用本地调用。

另一答案

让我们先说说Android Splash屏幕是常规的Android活动。

此外,Xamarin.Essentials软件包作为Xamarin.Android项目的一部分安装,允许您像在Shared项目中一样使用它。

如上所述,您可以使用Xamarin.Essentials从Android项目中检索您的偏好设置,例如:

bool isNewClient = Xamarin.Essentials.Preferences.Get("Key", defaultValue: true);

希望有帮助。-

以上是关于如果我使用Xamarin.Essentials首选项存储数据,那么如何在Android Splash活动中检索该数据?的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin.Forms - 使用 Xamarin.Essentials 在两个坐标之间获取里程

Xamarin.Essentials 共享可绘制对象

Xamarin Essentials教程使用加速度传感器Accelerometer

有没有办法通过 shareName 获取 Xamarin.Essentials.Preferences

Xamarin表单属性VS Xamarin Essentials首选项

重复使用 Xamarin.Essentials.MediaPicker.CapturePhotoAsync 在 Android 11 上重新启动我的应用程序