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

안드로이드 스튜디오 블루투스 수신이 안되는데 코드 수정 조언좀 부탁드려요ㅠㅠ

0 추천

아두이노에서 문자열을 수신하려는데 전송만 되고 수신은 안되네요ㅠㅠ 뭐가 문제인지 아무리 생각해도 알 수없어 도움 요청합니다.. 다른 블루투스 채팅앱과는 잘 주고 받는걸 봐서 코드가 문제인것같습니다ㅠㅠ!!

예제를 참고할래도 에러메세지가 떠서 참고할 수 없는 상황이라 도움 주셨으면 합니다ㅠㅠㅠ

void connectToSelectedDevice(String selectedDeviceName) {
        mRemoteDevie = getDeviceFromBondedList(selectedDeviceName);
        UUID uuid = java.util.UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");

        try {
            mSocket = mRemoteDevie.createRfcommSocketToServiceRecord(uuid);
            mSocket.connect();
            mOutputStream = mSocket.getOutputStream();
            mInputStream = mSocket.getInputStream();

            beginListenForData();

        }catch(Exception e) {
            finish();
        }
    }

    void beginListenForData() {
        final Handler handler = new Handler();

        readBufferPosition = 0;
        readBuffer = new byte[1024];

        mWorkerThread = new Thread(new Runnable()
        {
            @Override
            public void run() {
                while(!Thread.currentThread().isInterrupted()) {
                    try {
                        int byteAvailable = mInputStream.available();
                        if(byteAvailable > 0) {
                            byte[] packetBytes = new byte[byteAvailable];
                            mInputStream.read(packetBytes);
                            for(int i=0; i<byteAvailable; i++) {
                                byte b = packetBytes[i];
                                if(b == mCharDelimiter) {
                                    byte[] encodedBytes = new byte[readBufferPosition];
                                    System.arraycopy(readBuffer, 0, encodedBytes, 0, encodedBytes.length);
                                    final String data = new String(encodedBytes, "US-ASCII");
                                    readBufferPosition = 0;

                                    handler.post(new Runnable(){

                                        @Override
                                        public void run() {
                                            guideText.setText(data);
                                        }

                                    });
                                }
                                else {
                                    readBuffer[readBufferPosition++] = b;
                                }
                            }
                        }

                    } catch (Exception e) {
                        finish();
                    }
                }
            }

        });
        mWorkerThread.start();
    }

        }

 

느므 (120 포인트) 님이 2017년 12월 4일 질문
느므님이 2017년 12월 4일 수정

1개의 답변

0 추천
http://dsnight.tistory.com/13

여기 참고하세요.
눈빛 (4,120 포인트) 님이 2017년 12월 7일 답변
...