마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

쓰레드에서 getevent 결과값 실시간으로 로깅하기.

0 추천
@Override
public void run() {
        try {
            exec = Runtime.getRuntime().exec("getevent | grep event1");
            InputStreamReader is = new InputStreamReader(
                    exec.getInputStream());
            String s;

            BufferedReader br = new BufferedReader(is);
            Log.i("br.readLine", " = " + br.readLine());
            while ((s = br.readLine()) != null) {
                Log.i("s2", " " + s);
            }
            //is.close();
            //exec.destroy();

        } catch (IOException e) {
            Log.e("thread ioexception", " " + e.getCause());
            e.printStackTrace();
        }
}

 

 

쓰레드로 getevent 결과값을 로그로 나타낼려고 합니다. 

근데 버퍼를 읽어보니 계속 null상태인데.. 

아마 getevent | grep event1 명령어가 실행될 그 순간 아무런 입력이 없어서 null인 것 같습니다.

그리고 바로 명령어가 종료된 것 같은데.. 잘 모르겠네요. 예외처리로 나오진 않습니다. 

쓰레드가 유지되는 동안 getevent | grep event1 명령어가 계속 돌아가다가 쓰레드가 끝나면 명령어를 종료시키도록 하고 싶습니다. 

 

조언좀 부탁드립니다

보이저 (1,160 포인트) 님이 2016년 1월 30일 질문
보이저님이 2016년 2월 3일 수정

1개의 답변

0 추천
자답입니다.

getErrorStream() 을 버퍼에 담아 출력해보니 잘 됩니다..
보이저 (1,160 포인트) 님이 2016년 2월 3일 답변
...