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>.

经验分享 程序员 微信小程序 职场和发展