RK:android 关于SystemProperties的使用

一.system权限
1.在AndroidManifest.xml中,在manifest加入android:sharedUserId="android.uid.system"
2.在Android.mk中,將LOCAL_CERTIFICATE := XXX修改成LOCAL_CERTIFICATE :=platform
3.import android.os.SystemProperties; import java.lang.reflect.Method;

二.SystemProperties

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Initial_password = SystemProperties.get("persist.passwd.install", "888888");
2.1.getInt
SystemProperties.set("persist.sys.dialog_install","1");
 
if(SystemProperties.getInt("persist.sys.dialog_install",0) == 1)
{
                auxiliaryDialog.setChecked(true);
}else{
        auxiliaryDialog.setChecked(false);
}
2.2.getBoolean
SystemProperties.set("persist.rotation.limit","true");
 
if(SystemProperties.getBoolean("persist.rotation.limit",true))
{
                rotation_limit.setChecked(true);
}else{
        rotation_limit.setChecked(false);
}  

2.2.

1
2
3
4
5
6
7
property_set("persist.sys.audio_device","1");
 
char pro_value[PROPERTY_VALUE_MAX] = "";
        
property_get("persist.audio.mic",pro_value,0);
 
ALOGD("persist.audio.mic mic_value %d", mic_value); 

三.非系统开发,反射调用

3.1.getProperty

1
2
3
4
5
6
7
8
9
10
11
12
13
@SuppressWarnings("finally")
public String getProperty(String key) {
    String value = "unknown";
    try {
        Class<?> c = Class.forName("android.os.SystemProperties");
        Method get = c.getMethod("get", String.class, String.class);
        value = (String) (get.invoke(c, key, "unknown"));
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        return value;
    }
}

3.2.setProperty

1
2
3
4
5
6
7
8
9
public void setProperty(String key, String value) {
    try {
        Class<?> c = Class.forName("android.os.SystemProperties");
        Method set = c.getMethod("set", String.class, String.class);
        set.invoke(c, key, value);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

 四.非系统开发,framework jar包调用 

1
 framework编译出   out\target\common\obj\JAVA_LIBRARIES\framework_intermediates

  

    

 

 

posted @   CrushGirl  阅读(1144)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示