我试图在具有 systemui 权限(自定义AOSP)的android服务内部框架中的类中设置 non-persist 属性,即它具有>
<manifest
android:sharedUserId="android.uid.systemui"
coreApp="true">
无法更改!
当我使用
System.setProperty("sys.some.param", _value);
没关系,但是当服务由于某些特定原因而崩溃并重新启动(粘性)时,该属性被删除。 因此,由于我无法防止崩溃,因此我也最好保护自己的财产,因此我使用
SystemProperties.set("sys.some.param", _value);
可以解决问题-仅在运行时失败!离开我
Caught a RuntimeException from the binder stub implementation.
java.lang.RuntimeException: failed to set system property
at android.os.SystemProperties.native_set(Native Method)
at android.os.SystemProperties.set(SystemProperties.java:134)
所以我的问题是:
System.setProperty(key, value)
和SystemProperties.set(key, value)
之间有什么区别?
为什么使用第一种方法的属性在创建它的服务崩溃时被删除了?
如何解决我的问题并设置属性而不更改为persistent或uid.system?