アプリケーション内で logcat ログを読み取って反応したいと考えています。
次のコードを見つけました:
try {
Process process = Runtime.getRuntime().exec("logcat -d");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
StringBuilder log=new StringBuilder();
String line = "";
while ((line = bufferedReader.readLine()) != null) {
log.append(line);
}
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setText(log.toString());
}
catch (IOException e) {}
このコードは、アプリケーションが起動されるまでに作成されたlogcatログを返します。
しかし、新しい logcat ログを継続的にリッスンすることは可能ですか?
ベストアンサー1
上記のコードから「-d」フラグを削除するだけで、ログを読み取り続けることができます。
「-d」フラグは、logcat にログの内容を表示して終了するように指示します。フラグを削除すると、logcat は終了せず、追加された新しい行を送信し続けます。
正しく設計されていない場合、アプリケーションがブロックされる可能性があることに注意してください。
幸運を。