Задать непостоянное свойство не удалось с помощью uid.systemui - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь установить свойство non-persist в классе внутри фреймворка внутри службы Android с разрешениями systemui (пользовательский AOSP), т.е. оно имеет

<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. Как решить проблему и установить свойство, не меняя его на постоянное или наuid.system?

...