0

このコードを使用して Bluetooth を開始します。

BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
if(btAdapter == null)
   returns; /no bluetooth
if(btAdapter.isEnabled() == false)
{  Toast("Bluetooth off. Starting it...");
   if(btAdapter.enable() == false)
      Toast("Error enabling bluetooth.");
}

それは非常に単純でなければなりません。アダプターを取得するだけで、有効になっていない場合は開始します。

問題は、Bluetooth が実際にオンになっているときに isEnabled() が false を返すことです (true を返す必要があります)。すでにONだったからだと思います。その後、Bluetooth シンボル (ステータス バー内) が消えました。ヒントはありますか?

もちろん許可は取っています。

4

3 に答える 3

3

マニフェスト ファイルに正しい権限があることを確認します

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
于 2012-06-15T15:49:05.197 に答える
2

ユーザーの確認なしに Bluetooth を有効にすることはできません。このようにする必要があります。

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

if (mBluetoothAdapter != null) {
    // Device supports Bluetooth

    if (!mBluetoothAdapter.isEnabled()) {
        // Bluetooth isn't enabled, so enable it.
        Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
        startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
    }
}

以下に示すように、Bluetooth を有効にするためのユーザー許可を求めるダイアログが表示されます。

ここに画像の説明を入力

ユーザーが「はい」と答えると、システムは Bluetooth の有効化を開始し、プロセスが完了する (または失敗する) と、アプリケーションにフォーカスが戻ります。

于 2012-06-15T16:24:24.203 に答える