日志版

shit again,写的东西又不知道去哪了

首先是权限       <uses-permission android:name="android.permission.READ_LOGS" />
其次就是将读日志放在线程中,一句句的读取,代码如下,

重点是   mLogcatProc = Runtime.getRuntime().exec(LOGCAT_CMD);
Runtime是个标准的java类,

Every Java application has a single instance of class Runtime that allows the application to interface with the environment in which the application is running. The current runtime can be obtained from the getRuntime method.

An application cannot create its own instance of this class.

 

exec方法用于调用一个其他进程,执行这个命令来获取其他进程的数据,

   reader = new BufferedReader(new InputStreamReader(mLogcatProc
     .getInputStream()), BUFFER_SIZE);

通过process.getInputStream()来获取一个数据流

 

在用完的时候

 public void stopCatter() {
  if (mLogcatProc == null)
   return;
  mLogcatProc.destroy();
  mLogcatProc = null;
 }

process.destroy();进行关闭

 

 

另外查询的时候看到写其他的有意思的方法,在java中调用操作系统的程序时,可以使用java.lang.Runtime.getRuntime().exec() 来实现,但是这个方法在调用命令后就直接返回当前线程了,程序设计时,有时候需要在等待调用的系统程序完成操作后,当前线程才能做下一步操作,此时可以用类Process的方法waitFor()来实现,它会阻塞当先线程直至调用程序运行结束 ,以及Runtime.getRuntime().addShutdownHook(Thread);
//addShutdownHook是指,增加JVM停止时要做处理事件。当JVM停止时,就会把之前增加的这些HOOK逐个运行。 

 

http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Runtime.html#exec(java.lang.String)

http://hi.baidu.com/l3130y/blog/item/8e461b3b8c0a7eec14cecbc0.html

http://bjyzxxds.javaeye.com/blog/444181

http://www.cnblogs.com/pony/archive/2008/04/29/1176825.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值