私はそのような問題を抱えています.logcatからプログラムでデータを取得しようとしています. パーミッションもマニフェスト ファイルに追加されました。
<uses-permission android:name="android.permission.READ_LOGS"/>
コード:
new Thread(new Runnable() {
@Override
public void run() {
try {
Process process = Runtime.getRuntime().exec("logcat ActivityManager:I *:S");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = bufferedReader.readLine()) != null) {
reactOnString(line);
}
} catch (IOException e) {
}
}
}).start();
ただし、他のアプリがいつ起動されるかはわかりません。以下のような文字列を待っていますが、表示されません。
2260-2566/system_process I/ActivityManager: Start proc com.android.email for activity com.android.email/.activity.MessageCompose: pid=6460 uid=10011 gids={50011, 3003, 1015, 1023, 1028}
PS このコードはサービスで実行されます。