在Android中,如何为每个人创建串口(ttyS0,ttyS1)r / w?

我开发了一个应用程序来监听串口,我一直在使用“chmod 666 / dev / ttyS0”对串口进行读/写访问 – 但是 – 这种方法依赖于“su”并且只是暂时的.

要做些什么来永久获得对串行端口的读/写访问权限?

解决方法:

不幸的是,您总是需要超级用户/ root用户才能在COTS硬件上执行此操作(但是大多数现成的Android设备都没有可访问的串行端口).

如果您可以控制设备固件/ ROM,则可以进行其他安排,以便init.rc文件设置串行设备的所有权,以便只有您的应用程序可以访问,但这似乎比可能需要的更难.

您最好的选择是需要一个root设备,并且您的应用程序每次打开之前都需要在串行设备文件上设置权限.如果您的手机安装了su app(对于有根植的Android设备而言是典型的),那么您的应用可以轻松自动执行此操作.应用程序第一次尝试执行此操作时,用户将获得一个确认对话框,但他们可以选中一个框以便记住允许的决定.

在root设备上,您应该能够执行以下操作:

try {
    Runtime.getRuntime().exec("su -c 'chmod 666 /dev/ttyS0'");
} catch (IOException e) {
    e.printstacktrace();
}

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...