Hallo,

I entwickle gerade ein programm, dass dateien über die bluetooth verbindung bekommt. Ich habe es ausprobiert indem ich eine datei vom meinem computer aus zum telefon senden wollte, leider wird die Verbindung über die standard form hergestellt und nicht über mein programm.

Mein code sieht so aus:
Code:
    // The local server socket
        private final BluetoothServerSocket mServerSocket;
                
        public AcceptThread() {
            BluetoothServerSocket tmp = null;
            
            // Create a new listening server socket
            try {
                tmp = mAdapter.listenUsingRfcommWithServiceRecord(NAME_SDP, MY_UUID);
            } catch (IOException e) {
                Log.e(TAG, "could not create a Bluetooth server socket", e);
            }
            
            mServerSocket = tmp;
        }
        
        public void run() {
            if(D) Log.d(TAG, "Begin mAcceptThread " + this);
            
            setName("AcceptThread");
            
            BluetoothSocket socket = null;
            
            //Listen to the server socket if not connected
            while (mState != STATE_CONNECTED) {
                try {
                    socket = mServerSocket.accept();
                } catch (IOException e) {
                    Log.e(TAG, "socket accept failed", e);
                    break;
                }
                // If a connection was accepted
                if (socket != null) {
                    synchronized (BluetoothService.this) {
                        switch(mState) {
                        case STATE_LISTEN:
                        case STATE_CONNECTING:
                            // Start the connected thread
                            connected(socket, socket.getRemoteDevice());
                            break;
                        case STATE_NONE:
                        case STATE_CONNECTED:
                            // Terminate new socket. Already connected or not ready
                            try {
                                socket.close();
                            } catch(IOException e) {
                                Log.e(TAG, "Could not close socket", e);
                            }
                            break;
                        }
                    }
                }
            }
            
            if (D) Log.i(TAG, "END mAcceptThread");
        }
        
        public void cancel() {
            if (D) Log.d(TAG, "Socket cancel");
            try {
                mServerSocket.close();
            } catch (IOException e) {
                Log.e(TAG, "Close of server socket failed", e);
            }
        }
    }
Mein UUID ist:
private static final UUID MY_UUID = UUID.fromString("fa87c0d0-afac-11de-8a39-0800200c9a66");

Laut dokumentation sollte der SDP name keine rolle spielen.

Leider bekomme ich keine Verbindung durch diesen BluetoothServerSocket und deswegen blockiert das Programm im mServerSocket.accept()

Kann mir jemanden sagen was ich hier falsch mache ?