Android應用層讀寫設備節點

Android應用層如何讀寫設備節點

1、什麼是設備節點(設備文件)?
Linux中設備節點是通過“mknod”命令來創建的。一個設備節點其實就是一個文件,Linux中稱爲設備文件。有一點必要說明的是,在Linux中,所有的設備訪問都是通過文件的方式,一般的數據文件程序普通文件,設備節點稱爲設備文件。所以讀寫設備節點即讀取更改文件數據。

2、讀取設備節點
例如節點路徑爲:/sys/wenjian/node

/**
 * 讀取設備節點
 */
public static String getNodeString(String path) {
    String prop = "waiting";// 默認值
    try {
        BufferedReader reader = new BufferedReader(new FileReader(path));
        prop = reader.readLine();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return prop;
}

調用方法:

private static final String path = "/sys/auxcheck/auxcheck";
getNodeString(path );

3、改寫節點
例如節點路徑爲:/sys/wenjian/node

/**
 * 改寫節點
 */
public static boolean setNodeString(String path,String value){
    try {
        BufferedWriter bufWriter = null;
        bufWriter = new BufferedWriter(new FileWriter(path));
        bufWriter.write(voltage);  // 寫入數據
        bufWriter.close();
        Log.e("fht","改寫節點成功!");
    } catch (IOException e) {
        e.printStackTrace();
        Log.e("fht","改寫節點失敗!");
        return false;
    }
    return true;
}

調用方法:

private static final String path = "/sys/auxcheck/auxcheck";
private string values = "需要寫入的數據";
boolean flag = NaviDebug.setNodeString(path,values);

注意:因爲寫節點需要高權限,所以可能需要在AndroidMainfest.xml中添加android:sharedUserId=“android.uid.system” 屬性,如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章