Android 应用层读取底层节点信息

读取底层节点信息可以用来实现客制化需求,如读取硬件信息tp,屏,及摄像头ic等。

    public void getHardwareInfo() {
        String file_path = "/sys/hw_info";
        File file = new File(file_path);
        String strMode = null;

        if (!file.exists()) {
            Log.d("devin", "/sys/hw_info not exist!");
        }
        File[] files = file.listFiles();
        mInfo = new String[files.length];
        for (int i = 0; i < files.length; i++) {
            FileInputStream fis;

            try {
                fis = new FileInputStream(files[i]);
                byte[] buf = new byte[64];
                try {
                    int len = fis.read(buf, 0, buf.length);
                    fis.close();
                    Log.d("devin", "fis.read len = " + len);
                    strMode = new String(buf, 0, 64).trim();
                    // strMode = 1~7, 1--min, 7--max
                    if(strMode != null){
                        mInfo[i] = strMode;
                    }
                    Log.d("devin", "getHardwareInfo = " + strMode);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        }
    }

请注意:
节点信息写入是驱动层实现的,上层只需要读取指定位置节点信息就可以了。其实就是IO读取文件的操作。
apk需要获得系统签名。

你可能感兴趣的:(android)