Android 属性设置失败
2012-07-17 21:28:36 来源:WEB开发网核心提示: 今天想在system server进程下设置一个属性,ro.media.mine,Android 属性设置失败,发现没有设置成功,后来查了下,只有改变属性的名称了,将属性名称改为ro.sys.setroute,原来设置属性之前,会做一个权限判断
今天想在system server进程下设置一个属性,ro.media.mine,发现没有设置成功。
后来查了下,原来设置属性之前,会做一个权限判断,判断依据就是一段一段的前缀。
判断用的结构体如下:
struct {
const char * prefix;
unsigned int uid;
} property_perms[] = {
{ " net.rmnet0. " , AID_RADIO },
{ " net.gprs. " , AID_RADIO },
{ " ril. " , AID_RADIO },
{ " gsm. " , AID_RADIO },
{ " net.dns " , AID_RADIO },
{ " net.usb0 " , AID_RADIO },
{ " net. " , AID_SYSTEM },
{ " dev. " , AID_SYSTEM },
{ " runtime. " , AID_SYSTEM },
{ " hw. " , AID_SYSTEM },
{ " sys. " , AID_SYSTEM },
{ " service. " , AID_SYSTEM },
{ " wlan. " , AID_SYSTEM },
{ " dhcp. " , AID_SYSTEM },
{ " dhcp. " , AID_DHCP },
{ " debug. " , AID_SHELL },
{ " log. " , AID_SHELL },
{ " service.adb.root " , AID_SHELL },
{ " persist.sys. " , AID_SYSTEM },
{ " persist.service. " , AID_SYSTEM },
{ " media. " , AID_MEDIA },
{ NULL, 0 }
};
从上述结构体可知,有media前缀的属性,只能被AID_MEDIA修改,而不能被AID_SYSTEM修改。
既然是想着system server中修改属性,只有改变属性的名称了。
将属性名称改为ro.sys.setroute,果然OK了。
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
更多精彩
赞助商链接
