设置非持久属性失败,uid.systemui

时间:2018-11-28 16:57:48

标签: android android-source runtimeexception system-properties

我试图在具有 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)

所以我的问题是:

  1. System.setProperty(key, value)SystemProperties.set(key, value)之间有什么区别?

  2. 为什么使用第一种方法的属性在创建它的服务崩溃时被删除了?

  3. 如何解决我的问题并设置属性而不更改为persistent或uid.system?

0 个答案:

没有答案