我有这样的问题,我尝试以编程方式从logcat获取数据.权限也已添加到清单文件中:
<uses-permission android:name="android.permission.READ_LOGS"/>
Run Code Online (Sandbox Code Playgroud)
码:
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();
Run Code Online (Sandbox Code Playgroud)
但是,我无法看到其他应用程序何时启动.我正在等待下面的字符串,但它们没有出现.
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}
Run Code Online (Sandbox Code Playgroud)
PS此代码在服务中运行.
我有一个应用程序,我想收集指定级别和标记的LogCat消息.
我能以某种方式获得累积的消息吗?我不想逐个收集消息,它应该是它们的总和,就像我使用adb来读取实际日志一样.这可能吗?
我正在开发一个需要在设备重新启动后恢复音频播放的应用程序。
我发现仅仅发送媒体播放按钮可能不会启动用户正在使用的同一个应用程序。(我已经 Spotify 运行,但在重新启动后发送播放按钮打开谷歌音乐)
有没有办法获取有关应用程序播放媒体的详细信息(重新启动之前)?
我需要类似应用程序名称/活动名称/包名称等的东西。(所以我可以在发送播放按钮之前启动同一个应用程序)