Sys_Prop_Setting_version Android.Provider.Settings.System 中的参数 Class

Sys_Prop_Setting_version parameter in Android.Provider.Settings.System Class

我想要 android 中 Sys_Prop_Setting_version 的参数,它提供有关安全系统设置的信息,包含应用程序可以读取但不能读取的系统首选项允许写。我在Android.Provider.Settings.Systemclass中搜索了这个参数,没有找到,但是我发现这个参数存在于xamarin -API but not present in android-api我想要这个参数怎么获取呢?这些 API 有什么区别?对于我的应用程序,我使用 android-API 棉花糖。

I searched this parameter in Android.Provider.Settings.System class, I didn't find it, but what I found is that this parameter is present in xamarin -API but not present in android-api I want this parameter how should I get it?

此字符串Sys_Prop_Setting_version已从API级别23到24删除,您可以查看以下文档:

Android API Differences Report.

Class android.provider.Settings.Global.

Class android.provider.Settings.Secure.

Class android.provider.Settings.System.

what's the difference in these API's? for my application, I am using android-API marshmallow.

Sys_Prop_Setting_version 在三个不同的 table 中呈现,Xamarin 中的 SysPropSettingVersion Fieldandroid.provider.Settings.Global table 中的相同。通常Xamarin.Android中的api就像原生androidapi的封装一样,所以在Android.Provider.Settings.Secure中也可以找到这个字符串字段和 Android.Provider.Settings.System 类.

由于您使用的是 android api 棉花糖,它应该可用。但我在 android 6.0 设备上测试了代码:

var sysprop = Android.Provider.Settings.Global.SysPropSettingVersion;
var settings = Android.Provider.Settings.Global.GetString(ApplicationContext.ContentResolver, sysprop);

我身边returns一个null,我也测试过:

Android.Provider.Settings.Secure.GetString(ApplicationContext.ContentResolver, Android.Provider.Settings.Secure.SysPropSettingVersion);Android.Provider.Settings.System.GetString(ApplicationContext.ContentResolver, Android.Provider.Settings.System.SysPropSettingVersion);,所有 returns 都在我身边。但是如果你想在系统安全设置中找到其他一些只读值,它工作正常,例如:

Android.Provider.Settings.Secure.GetString(ApplicationContext.ContentResolver, Android.Provider.Settings.Secure.AndroidId);

然后我试图弄清楚这个值是用来做什么的,通过检查这个document,我什么也没找到。

这个Sys_Prop_Setting_version好像是用来获取设备的androidapi级别的(不确定,我看到一些代码用这个来获取OS版本),如果你想这样做,你可以简单地这样编码:

var version = Android.OS.Build.VERSION.Release;