问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样添加自定义的 SystemProperties 项到系统中

发布网友 发布时间:2022-04-25 03:51

我来回答

1个回答

热心网友 时间:2023-10-24 06:50

1 使用 SystemProperties.get
如果属性名称以“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");

获取方法:

boolean fastfoodenable = SystemProperties.getBoolean("persist.sys.fastfoodenable", false);

设置方法:

SystemProperties.set("persist.sys.fastfoodenable", "true");

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

创建与修改android属性用Systemproperties.set(name, value),获取android属性用Systemproperties.get(name),需要注意的是android属性的名称是有一定的格式要求的,如下: 前缀必须用system\core\init\property_service.c中定义的前缀 ,进行系统属性设置的程序也必须有system或root权限

如果我们要添加一个property:例如:silvan_liu

路径:system/core/rootdir/int.rc

在on post-fs-data 目录下

setprop persist.sys.silvan_liu 1//persist.sys 前缀名; 1为初始值

PS:不同前缀名权限不同,这里就不一一说明;还有为什么要加载on post-fs-data目录下,这和int.rc的语法有关

2 使用 Settings.System.putInt

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

首先需要定义一个系统属性值

路径:frameworks/base/core/java/android/provider/Settings.java

public static final String VIVIEN_FASTFOOD= "hungry";

1)获取方法如下:

@Override

public void onResume()

{

super.onResume();

if(Settings.System.getInt(getContentResolver(), Settings.System.VIVIEN_FASTFOOD,0)==1)

{

mYesORNo.setChecked(true);

}

else

mYesORNo.setChecked(false);

}
2)设置

if (mYesORNo.isChecked()) {

Settings.System.putInt(getContentResolver(),

Settings.System.VIVIEN_FASTFOOD, 1);

} else {

Settings.System.putInt(getContentResolver(),

Settings.System.VIVIEN_FASTFOOD, 0);

}

需要import android.provider.Settings;

____________________________________________________________________________________

from:http://blog.csdn.net/k1102k27/article/details/7106124

android源码开发中,常常要用到一些全局标志或者说变量,这时候我们可以给android系统添加自己想要的属性。

1.Settings.system

这种系统属性我们经常用到,例如飞行模式的开启和关闭,我们就是去改变Settings.system.AIRPLANE_MODE_ON 的值。

下面就介绍下我们怎样去定义一个系统属性。例如要添加一个属性名为“SILVAN_LIU”

路径:frameworks/base/core/java/android/provider/Settings.java
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
《火星异种》揭示了怎样的人性丑恶。? 日本哪些漫画动作(战斗类)设计较好,较为细致?并请稍微分析 新的一学年马上开学了,想送老师一件开学礼物,实用性强的。 开学送老师什么礼物? 未办理不动产的 没办登记的抵押合同怎么办 欠债人失联后的处理办法 早上肚子胀是什么原因 梦见姐姐去外地工作 电脑中所存的文件都在哪儿 property set method not found是什么意思? C#/.NET Framework属性(property)get和set的本质是什么? 请高手帮我用vb写一个Property Set过程和一个Property get过程,以便理解Property Set的使用。 vb中关于property let yu property set 区别 VBS中Property Set和Property Let的区别 kbj1004比心是哪个主播 快手上面用什么软件编辑的 写出两个有关“诚信”的名言警句或谚语、格言。 朋友们给几个名言名句 要快点 请写出两个警句 名言名句有哪些? 关于励志的名言(1~2句)? 古今中外有关读书的名言警句,妙诗佳联很多,请调动你的积累,写出两个并注明出处 2个有关观察的名言警句 20句名言警句 写出两个学习的名言警句 要两个名人名言 两条名言警句或谚语 写出两个有关读书方面的名人名言 一首古诗两个千古名句 mybatis property set开头会去掉吗 如何在Android源码的external&#47;bluetooth&#47;bluez&#47;audio&#47;liba2dp.c中使用property.set设置系统属性。 请问大虾用友ERP-U890的软件报错:(Property set method not found),这个报错是什么原因,怎么解决呀 vbs中的property oracle form : app_item_property.SET_PROPERTY与set_item_property有什么区别? 在使用JavaBean时,setProperty标记的作用是 请问,英文Create sceondary ror getting property set extention failed是什么意思?怎么解决 public Property let,get和直接用public什么区别? 关于C++ typedef list&lt;类名&gt;:iterator iterator;出错 VB编程的一些固定语言格式及一些固定词的意义及用处! VB中Property语句详细说明 Android属性:所设属性值为何在重起后被清除 3. 分别写出@property中assign, retain, copy属性,系统为我们实现的set方法。 QQ 音乐微信登录怎么换头像? QQ音乐头像怎么换? QQ音乐用微信登录,可QQ音乐显示的头像总是以前的头像,这是为什么?_百度... 微信头像改了,登陆QQ音乐,怎么头像还是之前,怎么都改不了,什么情况啊 不换微信头像和昵称可以在QQ音乐上换头像吗? 怎么保存自己QQ音乐头像,因为我的QQ 音乐是用微信登录的,我特别喜欢那张照片,怎样保存下来 微信登录qq音乐后怎么换新登录呀?