【问题标题】:Can you observe system property changes in Android?你能观察到Android中的系统属性变化吗?
【发布时间】:2016-03-27 09:15:19
【问题描述】:

是否有一种机制可以在 Android SDK 中从您自己的应用程序中观察系统属性的变化?

例如,我希望能够检测到 system.adb.tcp.port 属性的变化。

【问题讨论】:

    标签: android system-properties


    【解决方案1】:

    从 API 25 开始,没有用于此的公共 API。您需要深入挖掘仅存在于运行系统的内部功能。

    参见sys/_system_properties.h 中的__system_property_wait_any()。定义_REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_ 的需要表明,内部甚至不鼓励使用它。

    我不会在应用程序中使用它。 AOSP 的快速 grep 表明它仅用于测试代码,因此似乎没有使用它的“友好”API。

    我认为您在投票System.getProperty() 时遇到了麻烦。

    【讨论】:

      【解决方案2】:

      我认为不存在执行此操作的机制。但是您可以通过在 Process 中执行 getprop 来检索系统属性并检索其输出。

      或试试这个链接:[for System.getProperty()] http://developer.android.com/reference/java/lang/System.html#getProperty%28java.lang.String,%20java.lang.String%29

      【讨论】:

        【解决方案3】:

        对于C/C++,请调用“android-base/properties.h”和libbase中定义的WaitForProperty。

        对于 Java,请在 Observable 类中调用 OnPropertyChangedCallback。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-27
          • 2013-10-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-09-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多