在开发中会有使用全局变量的需求。比如在一个程序中设定一个应用,在另外的应用中读取这个值。可以使用系统属性来存储该变量。当然,这个只限于比较简单的值的存储,如果你使用正则表达式也可以容纳更多的信息在这个字符串内。使用方式如下:
importandroid.os.SystemProperties;
SystemProperties.set("persist.sys.konka.buttonlight",lightFlag);
在另外一个应用中使用get即可,记得导入上面的那个包。
在开发中会有使用全局变量的需求。比如在一个程序中设定一个应用,在另外的应用中读取这个值。可以使用系统属性来存储该变量。当然,这个只限于比较简单的值的存储,如果你使用正则表达式也可以容纳更多的信息在这个字符串内。使用方式如下:
importandroid.os.SystemProperties;
SystemProperties.set("persist.sys.konka.buttonlight",lightFlag);
在另外一个应用中使用get即可,记得导入上面的那个包。
String temp =SystemProperties.get("persist.sys.konka.buttonlight");
即可。
附加:
最好使用链接1所示的属性结构体里面定义的前缀,并且将应用程序定义成对应的权限:
结构体property_perms的定义如下:
struct {
const char *prefix;
unsigned int uid;
unsigned int gid;
} property_perms[] = {
{ "net.rmnet0.", AID_RADIO, 0 },
{ "net.gprs.", AID_RADIO, 0 },
{ "net.ppp", AID_RADIO, 0 },
{ "ril.", AID_RADIO, 0 },
{ "gsm.", AID_RADIO, 0 },
{ "persist.radio", AID_RADIO, 0 },
{ "net.dns", AID_RADIO, 0 },
{ "net.", AID_SYSTEM, 0 },
{ "dev.", AID_SYSTEM, 0 },
{ "runtime.", AID_SYSTEM, 0 },
{ "hw.", AID_SYSTEM, 0 },
{ "sys.", AID_SYSTEM, 0 },
{ "service.", AID_SYSTEM, 0 },
{ "wlan.", AID_SYSTEM, 0 },
{ "dhcp.", AID_SYSTEM, 0 },
{ "dhcp.", AID_DHCP, 0 },
{ "vpn.", AID_SYSTEM, 0 },
{ "vpn.", AID_VPN, 0 },
{ "debug.", AID_SHELL, 0 },
{ "log.", AID_SHELL, 0 },
{ "service.adb.root", AID_SHELL, 0 },
{ "persist.sys.", AID_SYSTEM, 0 },
{ "persist.service.", AID_SYSTEM, 0 },
{ "persist.security.", AID_SYSTEM, 0 },
{ NULL, 0, 0 }
};
如果想深挖的请看下面,相关参考链接:
Android平台上使用属性系统(property system)