读取android系统属性,比如驱动写些驱动设备型号等到手机prop,上层用APK读出来,省去用JNI读取

来源:互联网 发布:结构化面试 知乎 编辑:程序博客网 时间:2024/04/24 19:27

高通手机实时(各种情况下)电流电压读取:

位于手机:/sys/class/power_supply/battery/下的:voltage_now和current_now

读取这2个文件就OK了。

shell命令拷贝下文件出来自己查看下是否有需要的字符属性:

adb root

adb shell getprop > C:\Users\USER\Desktop\apk\123.txt

内容如下:

[DEVICE_PROVISIONED]: [1]
[audio.dolby.ds2.enabled]: [true]
[audio.offload.buffer.size.kb]: [64]
[audio.offload.gapless.enabled]: [true]
[audio.offload.min.duration.secs]: [30]
[av.offload.enable]: [true]
........

现在用APK去调用读取这些属性,前提是驱动人员写属性到这个prop文件(驱动人员写这个文件属性方便简单)

import android.os.SystemProperties;//这个报错,请去掉android.mk里面的一条不让调用隐藏包的属性:LOCAL_SDK_VERSION := current

    public void I2C_READ(){
        /**tp**/
        String str = "";
        String str1 = android.os.SystemProperties.get("audio.dolby.ds2.enabled");
        String a[] = str1.split("-");
        for(int i = 0; i < a.length; i++){
            if(i%2 == 0 && i != 0)
            {
                str += (a[i] + "\r\n");
            }else
            {
                str += a[i] + "  ";
            }
        }
        String strtp = str.replaceAll("=", ":");
        //setSummaryText(KEY_TP,strtp);
        I2C_CSH.setText(strtp);//文本显示这个读出来的字符strtp

    }

APK要丢到手机代码内置编译,配置系统权限和UID主线程权限

Android.mk下面添加:

LOCAL_CERTIFICATE := platform

AndroidManifest.xml下面添加:

android:sharedUserId="android.uid.system"

0 0
原创粉丝点击