2014-12-19 8 views
0

내 애플리케이션이 블루투스로 전환됩니다. 블루투스가 켜질 때까지 기다리고 싶습니다. logcat에서 문자열Android : 블루투스에 대한 로그 캣 문자열 ON

MESSAGE_BLUETOOTH_SERVICE_CONNECTED=1 

을 찾아서 계속 진행할 것입니다.

이 방법이 정확한지 또는 다른 문자열을 찾아야하는지 알고 싶습니다. 내가 logcat에서 올바른 문자열을 찾고 있는지 여부를 알 수있는 가장 좋은 방법은 무엇입니까? logcat을 사용하여 모든 정보를 수집 할 수있는 정보를 얻을 수있는 컬렉션/문서가 있습니까

답변

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

도움이되기를 바랍니다.