Android:蓝牙ON的Logcat字符串

时间:2014-12-19 12:02:28

标签: android logcat android-logcat

我的应用程序将打开蓝牙。我想等到蓝牙开启。 我会寻找字符串

 MESSAGE_BLUETOOTH_SERVICE_CONNECTED=1
在logcat中

然后继续。

我想知道这个方法是否正确,或者我应该寻找其他字符串。知道我是否在logcat中寻找正确的字符串的最佳方法是什么。是否有任何集合/文档可以了解使用logcat

可以收集的所有信息

1 个答案:

答案 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) {}

我希望它有所帮助。