什么';s是SystemProperties类方法和it的替代方法';s在java或kotlin中的用法?

什么';s是SystemProperties类方法和it的替代方法';s在java或kotlin中的用法?,java,android,android-11,android-developer-api,Java,Android,Android 11,Android Developer Api,我想保存系统设置,例如用户是否启用手套模式。目前,我正在使用SystemProperties.java类的set和get方法。但是在Android11中,我不能使用这些方法,因为类本身被@hide标记为隐藏,而方法则被@hide标记为隐藏。因此,我正在java/kotlin中寻找类似的解决方案。例如 SystemProperties.set(SYSTEM_PROPERTY_GLOVE_MODE, Integer.toString(newState)); int sysprop_status =

我想保存系统设置,例如用户是否启用手套模式。目前,我正在使用SystemProperties.java类的set和get方法。但是在Android11中,我不能使用这些方法,因为类本身被@hide标记为隐藏,而方法则被@hide标记为隐藏。因此,我正在java/kotlin中寻找类似的解决方案。例如

SystemProperties.set(SYSTEM_PROPERTY_GLOVE_MODE, Integer.toString(newState));
int sysprop_status = SystemProperties.getInt(SYSTEM_PROPERTY_GLOVE_MODE, -1);
当我在寻找解决方案时,我发现很少有有用的链接,但这些链接还不够。我不确定系统类中的方法是否有用


注意。在android 11中使用反射将不再有效。

为什么不使用
共享引用
或简单文件?@commonware似乎是一个很好的建议,我想知道,为什么其他开发人员使用SystemProperties.java?如果我们重新设置工厂,我们会丢失它的内容吗?因为我有一个系统应用程序,我在其中保存一些与系统范围相关的设置。“为什么其他开发人员使用SystemProperties.java?”--应用程序开发人员通常不使用这个。你所说的“谷歌罚单”是来自
android平台
Google组的一篇3年前的帖子,你链接到的“实现…”来自AOSP
SystemProperties.java
供平台使用,供创建自定义Android版本和系统应用程序的人员使用,而不是供创建普通应用程序的普通开发人员使用。@commonware,谢谢您向我解释这一点。那么共享引用在这里有效吗?或者我们还有System.get/setProperty()方法。好的,但是如果这只需要一个系统应用程序。。。为什么它需要是设备范围的属性?如果您希望其他应用程序也会需要此功能,那么可能需要一个设备范围的属性。即使这样,我也会考虑其他方法(例如,定制系统服务),因为它感觉像“手套模式”是一种即时变化的东西,因此应用程序可能需要对变化做出反应。