Xamarin.Forms 应用程序属性未在与 Android 的 session 之间保存

jackei 阅读:61 2024-10-25 08:56:14 评论:0

在我的跨平台应用程序中,我通过以下方式保存应用程序属性:

Application.Current.Properties["myValue"] = "Test"; 
await Application.Current.SavePropertiesAsync(); 

然后我稍后像这样检索它们:
string myVal = Application.Current.Properties["myValue"]; 

这在使用 Android 模拟器时非常有效。我可以关闭模​​拟器,当我再次重新启动它时,我的应用程序数据会被保留。

但是,当我将此应用程序部署到物理 Android 设备时,数据保存按预期工作,直到我关闭应用程序并再次打开它。此时我检索一个空值。就好像数据只保存到内存(而不是文件)。

此外,完全相同的应用程序的 iOS 版本可以完美运行。当我打开应用程序时,所有以前的值都已保存,我可以检索它们。

我在 Android 版本上做错了什么?在实际部署到手机时,是否需要启用 Android 设置、权限或选项才能在应用程序 session 之间保存值?

请您参考如下方法:

我有一个类似的问题,只有调试版本保存了属性。我认为我们仍在等待错误修复,这是解决方法 on Xamarin Forms bugzilla .

简而言之:去.Droid project settings -> Android Options -> Linker并输入/添加 "System.Runtime.Serialization"跳过链接程序集。


标签:Android
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号