我的应用程序将打开蓝牙。我想等到蓝牙开启。 我会寻找字符串
MESSAGE_BLUETOOTH_SERVICE_CONNECTED=1
在logcat中然后继续。
我想知道这个方法是否正确,或者我应该寻找其他字符串。知道我是否在logcat中寻找正确的字符串的最佳方法是什么。是否有任何集合/文档可以了解使用logcat
可以收集的所有信息答案 0 :(得分:0)
您必须小心,因为logcat可能会阻止您的应用响应。你应该在一个单独的线程中运行这段代码或你自己的应用程序,以保持响应。下面的代码要求logcat将日志发送到您的应用程序,您可以根据需要调查日志。
private static final String SEARCH_STRING = "MESSAGE_BLUETOOTH_SERVICE_CONNECTED=1";
try {
Process process = Runtime.getRuntime().exec("logcat");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
StringBuilder log=new StringBuilder();
String line = "";
boolean didFind = false;
while ((line = bufferedReader.readLine()) != null && !didFind) {
log.append(line);
didFind = line.toUpperCase().contains(SEARCH_STRING))
}
}
catch (IOException e) {}
我希望它有所帮助。