0

私のアプリは BT デバイスに接続し、一部のデータを送受信してから、ユーザーが続行する方法を選択するまで一時停止します。その後、確立された接続が使用され、アプリが続行されます。

ただし、一部の Nexus 4.3 デバイスでは、ユーザーが続行する方法を尋ねられると、システムは一時停止中に確立された Bluetooth 接続を切断します。この一時停止中、BT 接続での通信はありません

これはすべての Android 4.3 デバイスで発生するわけではなく、一部のデバイスでのみ発生します。新品をいくつか試しましたが問題ありません。しかし、Nexus をしばらく使用している一部のユーザーは、その問題を報告しています。

最初に使用したのとまったく同じコードを使用して、接続を閉じて再確立しようとさえしました。しかし、さまざまな種類のエラーが発生します。

これは私が接続を閉じる方法です:

public void resetConnection() {
if (mmInStream != null) {
    try {
    mmInStream.close();
    } catch (Exception e) {
           ...log it
    }
    mmInStream = null;
}

if (mmOutStream != null) {
    try {
    mmOutStream.close();
    } catch (Exception e) {
           ...log it        }
    mmOutStream = null;
}

if (mmSocket != null) {
    try {
    mmSocket.close();
    } catch (Exception e) {
           ...log it        }
    mmSocket = null;
}

}

基本的に接続するには、このコードを使用しますAndroidでBluetoothソケットを切断します

すべての Android バージョンとカーネルは、動作しているデバイスと動作していないデバイスで同じです。しかし、「使用済み」デバイス(再起動後でもリセットではなく)にはその問題がありますが、これまでのところ、工場出荷時設定へのリセット後にすべて問題を解決できました。

これらの Nexus 4.3 の問題とその解決方法について何か考えはありますか?

確かに、すべてのユーザーが電話を工場出荷時設定にリセットしたいと思っているわけではありません。また、これで常に問題が解決するかどうかもわかりません.

残念ながら、問題を引き起こすような Nexus を手元に持っていません。それ以外の場合は、デバッグして試すことができます。そのため、BT を使用して 4.3 で何が起こっているのか、私はまったく知りません。

4

1 に答える 1

1

nexus 3 を使用しており、問題を確認しています。私の回避策は、ブルートゥースで定期的に通信することでした。2 ~ 3 秒以上一時停止している場合、Bluetooth は常に切断されます。私のアプリでは、ユーザー入力を数秒間待たずに管理した後、アプリは 100 ミリ秒ごとにセンサーを読み取り、切断されることはありませんでした。

于 2013-08-28T16:07:08.353 に答える