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” 屬性,如下: