public class CMDExecute { public synchronized String run(String [] cmd, String workdirectory) throws IOException { String result = ''; try{ ProcessBuilder builder = new ProcessBuilder(cmd); InputStream in = null; //设置一个路径 if (workdirectory != null) { builder.directory(new File(workdirectory)); builder.redirectErrorStream(true); Process process = builder.start(); in = process.getInputStream(); byte[] re = new byte[1024]; while (in.read(re) != -1) result = result + new String(re); } if (in != null) { in.close(); } } catch (Exception ex) { ex.printStackTrace(); } return result; } }
1.2 手机信息查看助手功能实现1.2.1 手机信息查看助手主界面 按照预设的规划,将4类信息的查看入口放在主界面上,其布局文件为main.xml,基本上是用一个列表组件组成的,实现代码如下所示:在这里main.xml中使用的是LinearLayout布局,其中放置了一个ListView组件。
1.2.2 查看系统信息实现 当在运行的主界面单击第一行时,也就是“系统信息”这一行,将执行代码如下: case 0: intent.setClass(eoeInfosAssistant.this, System.class); startActivity(intent); break;代码运行后将显示系统(System)这个界面,这就是查看系统信息的主界面,其和主界面差不多,也就是列表显示几个需要查看的系统信息1.2.2.1 操作系统版本单击图9所示(无图)的界面第一行“操作系统版本”项,则会打开一个新的界面,其对应的是ShowInfo.java文件,然后需要显示该设备的操作系统版本信息,而这个信息在/proc/version中有,可以直接调用。在可行性分析中给出的CMDExencute类来调用系统的cat命令获取该文件的内容,实现代码如下:public static String fetch_version_info() { String result = null; CMDExecute cmdexe = new CMDExecute(); try { String[ ] args = {'/system/bin/cat', '/proc/version'}; result = cmdexe.run(args, 'system/bin/'); } catch (IOException ex) { ex.printStackTrace(); } return result; } 。。。。。。