답글이 없어 다시 한번 올립니다. 아시는 분 답글 좀 달아 주시면 감사하겠습니다.ㅜㅜ

안녕하세요. 항상 눈팅만 하다가 질문을 올리게 되었습니다.

좋은 정보 잘 보고 있으며 답변을 하려고 하여도 아직 실력이 미흡하여 답변 할 수 있는 내용이 없네요.

단말 쪽에 Bluetooth와 Wi-Fi를 담당하고 있는 개발자 입니다.

안드로이드 버젼은 2.3.3으로 gingerbread입니다.

다름이 아니라 아래 소스 처럼 Bluetooth teest mode를 만들려고 하고 있습니다.

hcitool command 실행은 됩니다. 하지만 hcitool 실행 파일 내부에서 명령어를 내보낼때 error가 나옵니다.

abd shell로 같은 명령을 내리면 잘 됩니다.

하지만 menu에서   Runtime.getRuntime().exec(cmd)를 이용하면 error가 납니다.

이유나 혹은 해결책을 알고 계시는 분이 계시면 알려 주시면 정말 감사하겠습니다.

 

아래는 해당 소스 코드 입니다.

 private final void bttestmode() {
        String[] cmd = {"su","/system/bin/sh","-c","/system/xbin/hcitool cmd 0x6 0x0003"};
        // String[] cmd = {"/system/bin/sh","-c","/system/xbin/hcitool>enable.txt"};
        try {
                Process p = null;
                DataOutputStream os = null;
                p = Runtime.getRuntime().exec(cmd);
                try {
                    p.waitFor();
                    if (p.exitValue() != 255) {
                    // TODO Code to run on success 
                        if (DBG) Log.d(TAG, "BT TEST mode 1 OK");
                    } else {
                    // TODO Code to run on unsuccessful 
                        if (DBG) Log.d(TAG, "BT TEST mode 1 ELSE");
                    }
                } catch (InterruptedException e) {
                // TODO Code to run in interrupted exception 
                   if (DBG) Log.d(TAG, "BT TEST mode 1 ERROR 1");
                }
           } catch (IOException e) {
               if (DBG) Log.d(TAG, "BT TEST mode ERROR 2");
           }
    }
읽어 주셔서 감사합니다.

좋은 하루 되시고 일교차가 큽니다. 감기 조심하세요 ^^