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” 属性,如下:
在这里插入图片描述

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值