property_get和property_set使用方法
property_get和property_set使用方法
一.使用方法 每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。 如下面我们可以在系统中代码设置属性或命令行设置属性,用于系统中的判断,
setprop WLAN.SWITCH.FLAG 1 getprop WLAN.SWITCH.FLAG
函数原型:
int property_get(const char *key, char *value, const char *default_value); int property_set(const char *key, const char *value);
#define PROPERTY_VALUE_MAX 250
char propertyValue[PROPERTY_VALUE_MAX] = " ";
if(property_get("WLAN.SWITCH.FLAG", propertyValue, NULL) > 0) {
printf("WLAN.SWITCH.FLAG = %s
", propertyValue);
if(strncmp(propertyValue, "1", strlen("1")) == 0) {
printf("wlan.switch.flag = on
");
} else {
printf("wlan.switch.flag = off
");
}
} else {
printf("property_get wlan.switch.flag failed
");
}
二.相关知识 1.加载的属性会被保持在/data/property中. 2.编译时需要链接相应的动态库文件libcutils.so. 3.需要添加头文件<cutils/properties.h>.
