1

Bluetooth デバイスと通信するための小さなアプリを作成しました。アプリを起動すると、Bluetooth が自動的に有効になります。私はこのコードでこれを行います:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();  
    if (!mBluetoothAdapter.isEnabled()) {
        Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
        startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
    }
}

しかし、Bluetooth を自動有効化した直後に、アプリで Bluetooth を使用できません。アプリを再起動するか、アプリが正常に動作するように画面を回転させる必要があります。

Bluetoothを有効にした後、この回避策を試してアクティビティを再開しました:

public void onCreate(Bundle savedInstanceState) {
....
    Intent intent = getIntent();
    finish();
    startActivity(intent);
}

しかし、私のアプリは閉じられるだけで、再び開始されることはありません。アプリの起動時にBluetoothを有効にすると、Bluetoothを使用できないというこの問題を解決する方法を知っている人はいますか?

ありがとう

乾杯

フェリックス

4

1 に答える 1

1

「しかし、Bluetooth を自動有効化した直後に、アプリで Bluetooth を使用できません。」

Bluetooth が有効になるまで少し時間がかかります。BluetoothAdapter.ACTION_STATE_CHANGED インテントをリッスンして、アダプターが実際にいつ有効になるかを確認する必要があります。

于 2012-06-09T15:01:56.737 に答える