【转】如何读取程序的Log信息
原文
http://www.androidres.com/index.php/2009/05/07/android-log-tutorials/
如果需要程序实现这个功能,需要在Manifest中添加Permission:
android.permission.READ_LOGS
应用Runtime.getRuntime().exec( parameters )启动Logcat,并返回一个Process对象,然后通过BufferedReader捕捉进程的数据流。
源代码:
01.
Process mLogcatProc =
null
;
02.
BufferedReader reader =
null
;
03.
try
04.
{
05.
mLogcatProc = Runtime.getRuntime().exec(
new
String[]
06.
{
"logcat"
,
"-d"
,
"AndroidRuntime:E [Your Log Tag Here]:V *:S"
});
07.
08.
reader =
new
BufferedReader(
new
InputStreamReader
09.
(mLogcatProc.getInputStream()));
10.
11.
String line;
12.
final
StringBuilder log =
new
StringBuilder();
13.
String separator = System.getProperty(
"line.separator"
);
14.
15.
while
((line = reader.readLine()) !=
null
)
16.
{
17.
log.append(line);
18.
log.append(separator);
19.
}
20.
21.
// do whatever you want with the log. I'd recommend using Intents to create an email
22.
}
23.
24.
catch
(IOException e)
25.
{
26.
...
27.
}
28.
29.
finally
30.
{
31.
if
(reader !=
null
)
32.
try
33.
{
34.
reader.close();
35.
}
36.
catch
(IOException e)
37.
{
38.
...
39.
}
40.
41.
}