3

私は、Javaを使用してファイルを周囲のデバイスに送信するデスクトップアプリケーションを開発しています。完了しましたが、問題があります。送信操作を開始しようとすると、モバイルデバイスにペアリングメッセージが表示されます。私のアプリはbluecoveライブラリを使用しています。BluecoveのWebサイトには、送信中にペアリングを必要としないBluetooth経由でファイルを送信するサンプルアプリケーションがあります。 files.download it from here http://www.bluecove.org/bluecove-examples/obex-install/push.jnlp

これがBluetoothデバイスにファイルを送信する私のコードです:

Connection connection = Connector.open(btConnectionURL);
// connection obtained

// now, let's create a session and a headerset objects
ClientSession cs = (ClientSession) connection;

HeaderSet hsConnectReply = cs.connect(null);
if (hsConnectReply.getResponseCode() != ResponseCodes.OBEX_HTTP_OK) {
System.out.println("Error while connecting device");
    return;
}   
HeaderSet hs = cs.createHeaderSet();
hs.setHeader(HeaderSet.NAME, filename);
hs.setHeader(HeaderSet.TYPE,
        new MimetypesFileTypeMap().getContentType(new File(filen)));
hs.setHeader(HeaderSet.LENGTH, new Long(file.length));

Operation putOperation = cs.put(hs);

OutputStream outputStream = putOperation.openOutputStream();
outputStream.write(file);
// file push complete

outputStream.close();
putOperation.close();

cs.disconnect(null);

connection.close();

私の場合のURLは次のとおりです。btgoep:// 001FDF08DEEC:9; authenticate = false; encrypt = false; master = false

私のアプリとbluecoveサンプルアプリの違いは何ですか?よろしくお願いします。

4

1 に答える 1

2

これに基づいて、.net で自動認証を行うことができます!

ブルーコーブでの私の経験に基づいて、 RemoteDevice.authenticate() 関数をオーバーライドし、サーバーにハードコードされたピン番号を提供し、クライアントが認証のために入力できる番号を利用できるようにする必要があります! このアプローチではペアリングを行いますが、サーバー側で手動で入力する必要はありません!

于 2013-09-03T08:40:47.660 に答える