您的位置:首页 > 移动开发 > Android开发

Android SystemProperties和Settings.System介绍

2016-11-16 18:57 288 查看
1 使用 SystemProperties.get

这中方法在framework里面 经常见到。

特别属性

如果属性名称以“ro.”开头,那么这个属性被视为只读属性。一旦设置,属性值不能改变。

如果属性名称以“persist.”开头,当设置这个属性时,其值也将写入/data/property。

 

在c++中就是对应Java的两个函数就是property_set, property_get,其实JAVA是通过JNI调用这两个函数的。

JAVA

import
Android.os.SystemProperties;

SystemProperties.set("persist.sys.language", zone.getID());

String lang= SystemProperties.get("persist.sys.language");

 

C

#include <cutils/properties.h>

property_set("persist.sys.language", "zh");

property_get("persist.sys.language", propLang, "en");

在adb shell可以通过以下的命名读取和修改

#getprop  persist.sys.language

#setprop   persist.sys.language  zh

 

2 使用 Settings.System.putInt  

这种方式会保存变量到Settings
数据库中,飞行模式等的开关就是用这种方式实现的。

在AndroidManifest.xml中包含权限:

<uses-permission android:name=”android.permission.WRITE_SETTINGS” />

在需要发送数据的java文件中,包含:

import android.provider.Settings;

import android.content.ContentResolver;

ContentResolver resolver = mContext.getContentResolver();

Settings.System.putInt(resolver,”inputFlag”,1);

同理,在接收数据端:

Settings.System.getInt(resolver,”inputFlag”,3);

mContext为所在应用的上下文。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: