2011-08-27 4 views
3

Я делаю приложение для печати информации о кошках в текстовом виде. Для этого я использую следующий код.не удалось распечатать log cat в моем приложении на android

Log.e("msg1","message1"); 
Log.e("msg2","message2"); 
Log.e("msg3","message3"); 
try { 
     String separator = System.getProperty("line.separator"); 
       try { 
        Process mProcess = Runtime.getRuntime().exec("logcat -e"); 
        BufferedReader reader = new BufferedReader(new InputStreamReader(mProcess.getInputStream())); 
        StringBuilder builder = new StringBuilder(); 
        String line = ""; 

        while ((line = reader.readLine())!= null) { 
         builder.append(line); 
         builder.append(separator); 
        } 
        System.out.println(separator +"OUTPUT - "+builder.toString()); 
        tv.setText(builder.toString()); 
    } catch (IOException e) { } 

и в файле манифеста я даю разрешение, как:

 <uses-permission android:name="android.permission.READ_LOGS" /> 

я не мог получить никакой информации от Locat в текстовом виде. здесь выход кода затмения LogCat:

09-18 11:01:51.649: INFO/ActivityManager(66): Displayed activity com.log.cat/.main1: 2224 ms (total 2224 ms) 
09-18 11:01:52.799: INFO/ActivityManager(66): Starting activity: Intent { cmp=com.log.cat/.main (has extras) } 
09-18 11:01:52.958: ERROR/msg1(346): message1 
09-18 11:01:52.958: ERROR/msg2(346): message2 
09-18 11:01:52.969: ERROR/msg3(346): message3 
09-18 11:01:53.028: INFO/global(346): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required. 
09-18 11:01:53.059: INFO/System.out(346): OUTPUT - 
09-18 11:01:53.588: INFO/ActivityManager(66): Displayed activity com.log.cat/.main: 754 ms (total 754 ms) 

System.out. не печатает ничего в logcat. если я использую logcat -d вместо logcat -e. он печатает всю информацию, относящуюся к системе, в том, что моя информация о logcat отсутствует. пожалуйста помогите. Мне нужно показать свою информацию о logcat в текстовом виде, а не другую информацию, чтобы я использовал logcat -e. пожалуйста помогите.

ответ

0

Это рабочий код для меня Вы используете Runtime.getRuntime().exec("logcat -e"); Так это даст вам, если какой-либо ошибки в процессе Так что, если не какая-либо ошибка в вашем исполнении не будет отображать любой текст в TextView

Если вы хочу проверить ваш код изменение значения Runtime.getRuntime().exec("logcat -e"); в Runtime.getRuntime().exec("logcat -d");

Вы получите текст в текстовом

Есть V, D, I, W, E пять типа категории LogCat

Для получения более подробной информации см ссылки ниже

Click here

+0

Проверьте мой ответ – Dharmendra

+0

смотрите мой отредактированный вопрос. http://stackoverflow.com/questions/7213999/could-not-print-log-cat-in-my-app-on-android –