你能观察到Android系统属性的变化吗?

5anewei6  于 2023-05-12  发布在  Android
关注(0)|答案(3)|浏览(183)

在Android SDK中,是否有一种机制可以从您自己的应用中观察系统属性的更改?
例如,我希望能够检测system.adb.tcp.port属性中的更改。

x3naxklr

x3naxklr1#

截至API 25,没有公共API。你需要深入挖掘那些只存在于系统中的内部函数。
请参见sys/_system_properties.h中的__system_property_wait_any()。需要定义_REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_表明,在内部甚至不鼓励使用它。
我不会在应用程序中使用它。AOSP的快速grep表明它只在测试代码中使用,因此似乎没有使用它的“友好”API。
我认为你坚持使用轮询System.getProperty()

oogrdqng

oogrdqng2#

我不认为存在这样做的机制,但您可以通过在Process中执行getprop来检索系统属性并检索其输出。
或者试试这个链接:[对于System.getProperty()] http://developer.android.com/reference/java/lang/System.html#getProperty%28java.lang.String,%20java.lang.String%29

cwtwac6a

cwtwac6a3#

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

相关问题