对于整个系统全局通用的,跨APP应用共享的一些简单的数据,有二个比较好的处理方式。
一个是在设置DB数据库中保存一个数据,这个方法在《如何在设置DB数据库中保存一个数据》有比较详细的说明。
另外一个就是Systemproperties:
import android.os.SystemProperties;
获取数据:
String vipPassStr = SystemProperties.get("persist.sys.hyvip.password", HYVIP_FUNCTION_DEFAULT_PASSWORD);
设置数据:
SystemProperties.set("persist.sys.hyvip.password", "set_default_value");
需要注意的是android属性的名称是有一定的格式要求的,如下:前缀必须用system\core\init\property_service.c中定义的前缀,
进行系统属性设置的程序也必须有system或root权限,
如何将android程序的权限提升到system权限?方法是这样的:
1、在AndroidManifest.xml中,在manifest加入android:sharedUserId="android.uid.system"。
2、在Android.mk中,將LOCAL_CERTIFICATE := XXX修改成LOCAL_CERTIFICATE := platform。
经过以上两步就可以把ap的权限提升到system权限了。但是用这种方法提升权限有两个弊端,如下:
1、程序的拥有都必须有程序的源码;
2、程序的拥有都还必须有android开发环境,就是说自己能make整个android系统。
参考资料:
1.Android SystemProperties设置/取得系统属性的用法总结
http://blog.youkuaiyun.com/ameyume/article/details/8056492
2.ystemProperties与Settings.system
http://blog.youkuaiyun.com/xxxsz/article/details/7480354

本文介绍在Android系统中全局数据管理的两种方法:使用设置DB数据库和Systemproperties。详细讲解了如何通过Systemproperties进行数据的读取与写入,并提供了权限提升的方法及注意事项。
562

被折叠的 条评论
为什么被折叠?



