0

別のデバイスとの接続を確立し、spp Bluetooth 経由でデータを取得できるアプリケーション (アクティビティとサービス) があります。

これを 1 日 1 回行う必要があります。

ただし、電話 (サーバー) がデバイス (クライアント) との接続を再確立できる回数には制限があるようです。

LogCat に次のエラーが表示されます: BluetoothEventLoop.ccp

onCreateDeviceResult: D.Bus エラー: org.freedesktop.DBus.Error.LimitsExceeded (接続ごとの保留中の応答の最大数に達しました)

BluetoothEventLoop onCreateDeviceResult の結果:-1

プログラムで電話を再起動することを考えていますが、これを行う必要はありませんか?

この問題を克服する方法について何かアイデアはありますか。

理想的には、電話は、何週間もの間、電源に永続的に接続されたハブとして動作します。Android 2.3.7 を実行しています。

4

1 に答える 1

0

このメソッドを使用して、接続スレッドでソケットを作成していますか?

tmp = device.createRfcommSocketToServiceRecord(MY_UUID);

2.3.6 で同じエラーが発生し、リフレクション メソッドを使用して修正しました。上記のコードを次のコードに置き換えました。

Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class});
tmp = (BluetoothSocket) m.invoke(device, 1);

この他の問題と同じ解決策を使用しました: AndroidでBluetoothを使用したサービス検出失敗例外

于 2013-07-10T00:19:54.013 に答える