1

こんにちは私は私のコンピュータから外部BluetoothデバイスのシリアルポートBluetoothサービスを検出したいと思います。そのために私はBluecoveAPIと次のコードを使用しています:

 BluetoothDeviceDiscovery bluetoothDeviceDiscovery=new BluetoothDeviceDiscovery();

        //display local device address and name
        LocalDevice localDevice = LocalDevice.getLocalDevice();
        System.out.println("Address: "+localDevice.getBluetoothAddress());
        System.out.println("Name: "+localDevice.getFriendlyName());

        //find devices
        DiscoveryAgent agent = localDevice.getDiscoveryAgent();
        UUID uuid = new UUID("SPP", true);
         String ServiceURL = agent.selectService(uuid,ServiceRecord.NOAUTHENTICATE_NOENCRYPT, false);//"btspp://localhost:"+rd.getBluetoothAddress()+";name=SPP"; 
        if( ServiceURL == null) {
            System.out.println("Connection failed: "+ uuid +"\n");
            return;
         }

しかし、私は「java.lang.NumberFormatException:入力文字列の場合: "0S"」の例外が次の行にあり続けます:

 UUID uuid = new UUID("SPP", true);

ご協力ありがとうございました

4

1 に答える 1

0

bluecoveのドキュメントから

「指定された文字列からUUIDオブジェクトを作成します。文字列内の文字は、16進セット[0-9、af、AF]からのものである必要があります。」

「SPP」は有効な16進数ではありません。

于 2011-12-11T15:56:54.473 に答える