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] = "\0";
if(property_get("WLAN.SWITCH.FLAG", propertyValue, NULL) > 0) {
	printf("WLAN.SWITCH.FLAG = %s\n", propertyValue);
	if(strncmp(propertyValue, "1", strlen("1")) == 0) {
		printf("wlan.switch.flag = on\n");
	} else {
		printf("wlan.switch.flag = off\n");
	}
} else {
	printf("property_get wlan.switch.flag failed\n");
}

二.相关知识
1.加载的属性会被保持在/data/property中.
2.编译时需要链接相应的动态库文件libcutils.so.
3.需要添加头文件.

你可能感兴趣的:(C/C++,linux)