我要往这个目录下的文件写值:/sys/class/usb_composite/usb_mass_compsite/enable
我是这样做的:
File usb_file = new File("/sys/class/usb_composite/usb_mass_compsite/enable");
FileOutputStream fos = new FileOutputStream(usb_file);
DataOutputStream dos = new DataOutputStream(fos);
dos.writeInt(1);
dos.writeUTF("123");
fos.close();
dos.close();
我已经把这些代码都try()catch{}了。现在报非法的参数Illegal Agument。可是我在PC机上执行这些代码没有任何问题啊?为什么在手机上就不行了啊?而且权限我都弄好了。
我是这样做的:
File usb_file = new File("/sys/class/usb_composite/usb_mass_compsite/enable");
FileOutputStream fos = new FileOutputStream(usb_file);
DataOutputStream dos = new DataOutputStream(fos);
dos.writeInt(1);
dos.writeUTF("123");
fos.close();
dos.close();
我已经把这些代码都try()catch{}了。现在报非法的参数Illegal Agument。可是我在PC机上执行这些代码没有任何问题啊?为什么在手机上就不行了啊?而且权限我都弄好了。
真机和模拟器是有区别的,比如在模拟器中可以访问/data/data/(包名)/databases,而在真机中是不能这么访问的。
为了验证是不是权限问题,你可以试一试把文件写在项目中(用sqlite模拟一下)。
这个文件是存在的。就是在dos.writeInt(1);这些写值的地方报非法参数错误。
好多没有这个文件,你需要考虑兼容的问题啊,G7,G12都没有。