--------解決済み-------------- 私はアンドロイドを書いていますRFCOMMを使用してBluetoothを使用してデバイスに接続するアプリです。私は接続を確立するための基礎としてBluetoothChatの例を使用しています。 RFCOMM_CreateConnection - すでに開いている状態:2、RFC状態:4、MCB状態:5 これは、デバイスに接続してアプリケーションを終了すると発生しがちです(onDestroyを呼び出します)。 ())、それを再度開いて再度接続しようとすると、上記の結果になります。RFCOMM_CreateConnection - 既に開いている状態:2、RFC状態:4、MCB状態:5
Iは(例えばref.BluetoothChat)ConnectThreadに接続するためにこの方法を使用する:。 メソッドm = device.getClass()getMethod( "createRfcommSocket"、新たなクラス[] {int.classを})。 tmp =(BluetoothSocket)m.invoke(device、Integer.valueOf(1));
mmSocket = tmp;
これを解決するのは、アンドロイド携帯電話のBluetoothをオン/オフすることだけです。これは、ソケットがonDestroy()では閉じられていないと思っていますが、前述の例のようにすべてのスレッドを閉じることを呼びます。 すべてのアイデアが妥協されるでしょう。
Louis A. Prado私はonResume接続状態をチェックし、それに応じてBluetooth接続をrestards私の主な活動、でチェックを行うことで、これを解決しました。 –
これは5年前の質問で超ランダムかもしれませんが、あなたがこれを観察したデバイスを覚えていますか?私はGoogleで働いており、私はこれの根本的な原因を見つけようとしています。 –
@ZachJohnson私は2016年にこの問題を正確に抱えており、ビジネスパートナーの1人に解決しようとしています。 デバイスはHTC Flyer P510eです。これが少し助けてくれることを願っています。 – Lvka