не удалось распечатать журнал кошек в моем приложении на Android - PullRequest
3 голосов
/ 27 августа 2011

Я делаю приложение для печати информации журнала кошки в текстовом представлении. я использую следующий код, чтобы сделать это.

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 в текстовом представлении. Вот вывод кода в ecclipse 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 . пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 27 августа 2011

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

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

Вы получите текст в текстовом представлении

Существуют V, D, I, W, E пять типов logcat категории

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

Нажмите здесь

...