Wie überprüfe ich, ob Bluetooth programmgesteuert aktiviert ist?

Lesezeit: 3 Minuten

Ich möchte regelmäßig überprüfen, ob Bluetooth auf einem Android-Gerät aktiviert ist. Gibt es Absichten, die ich mit BroadcastReceiver erfassen könnte, oder gibt es andere Möglichkeiten, dies zu tun?

  • Schau dir das einfach an Verknüpfung für Bluetooth und befolgen Sie alle Schritte. Ich hoffe, das hilft.

    – Uttam

    6. Oktober 2011 um 9:31 Uhr


Benutzer-Avatar
Peter Houston

Los geht’s:

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter == null) {
    // Device does not support Bluetooth
} else if (!mBluetoothAdapter.isEnabled()) {
    // Bluetooth is not enabled :)
} else {
    // Bluetooth is enabled 
}

Mit uses-permission

 <uses-permission android:name="android.permission.BLUETOOTH" android:required="false" />

  • Wenn die Bluetooth-Berechtigung nur für diese Erkennung benötigt wird, vergessen Sie nicht, sie auf NICHT erforderlich zu setzen:

    – Murphy

    16. Januar 2013 um 1:21 Uhr

  • Ist Internet erforderlich, um Bluetooth zu überprüfen?

    – Portfoliobuilder

    26. August 2015 um 19:30 Uhr

  • Nein, Sie brauchen kein Internet, um den Bluetooth-Status zu überprüfen. Nun, abgesehen davon, den Code aus diesem SO-Post zu bekommen;)

    – dasch88

    3. Februar 2016 um 14:19 Uhr

public boolean isBluetoothEnabled()
    {
        BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        return mBluetoothAdapter.isEnabled();

    }

mit der Erlaubnis in der Manifestdatei:

<uses-permission android:name="android.permission.BLUETOOTH" />

Benutzer-Avatar
Hari-Babu-Mandala

Hier habe ich eine andere Alternative als Antwort auf diese Frage.

Fügen Sie zuerst die folgenden Zeilen in Ihrer Manifest-Datei hinzu.

<uses-feature android:name="android.hardware.BLUETOOTH" android:required="false"/>

Wenn Sie nun die Bluetooth-Unterstützung überprüfen möchten, verwenden Sie den folgenden Code.

boolean isBluetoothSupported = getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);

  • wie ist es bei “BluetoothAdapter.getDefaultAdapter()” anders?

    – Code

    1. Mai 2014 um 5:16 Uhr

So überprüfen Sie den Bluetooth-Status, EIN oder AUS, programmgesteuert:

    BluetoothAdapter btAdapter = ((Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR1)
           ?((BluetoothManager)mContext.getSystemService(Context.BLUETOOTH_SERVICE)).getAdapter()
               :(BluetoothAdapter.getDefaultAdapter()));

       if(btAdapter==null){
        return;
       }
       if(btAdapter.getState()==BluetoothAdapter.STATE_ON){
            //Bluetooth is ON
       }

Sie können sich auch Intent Action anhören:

BluetoothAdapter.ACTION_STATE_CHANGED

Benutzer-Avatar
srinivas

verwenden kann

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

für check bt verbunden

mBluetoothAdapter.getProfileConnectionState(BluetoothHeadset.HEADSET) == BluetoothHeadset.STATE_CONNECTED

für check bt getrennt

mBluetoothAdapter.getProfileConnectionState(BluetoothHeadset.HEADSET) == BluetoothHeadset.STATE_DISCONNECTED

Benutzer-Avatar
Ushal Naidoo

So habe ich es mit Hilfe der Antwort von @xjaphx gemacht, leicht vereinfachte Version:

 private boolean getBlueToothOn(){
    BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter(); 
      return btAdapter != null && btAdapter.isEnabled();
    }

 <uses-permission android:name="android.permission.BLUETOOTH" />

Erlauben Sie zuerst die Berechtigungen von Manifest.

<uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

public class MainActivity extends AppCompatActivity {
    
    private BluetoothAdapter mAdapter;
    private BluetoothDevice mDevice;
    private static final int ACCESS_REQUEST_CODE=100;
    private static final int REQUEST_ENABLE_CODE=1;
    private AudioRecord mRecord;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (mAdapter!=null && mAdapter.isEnabled()){

        }
        else {
            Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
            startActivityForResult(enableIntent, REQUEST_ENABLE_CODE);
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode==REQUEST_ENABLE_CODE){
            if (resultCode==RESULT_OK){
                println("Bluettoth Enabled");
            }
            else if (resultCode==RESULT_CANCELED){
                println("Bluetooth Not permitted");
                finish();
            }
        }
    }
}

  • Um zu überprüfen, ob Bluetooth ein- oder ausgeschaltet ist, wird eine Laufzeitberechtigung zum Aktivieren von Bluetooth angefordert, und wenn sie den Zugriff verweigern, wird die Aktivität geschlossen.

    – Suresh BB

    11. Januar 2021 um 9:25 Uhr


  • Wenn dieser Beitrag ein Update dieser Antwort ist, sollten Sie den Bearbeitungslink verwenden, anstatt einen weiteren Beitrag hinzuzufügen oder Kommentare hinzuzufügen

    – Suraj Rao

    11. Januar 2021 um 9:26 Uhr

1283740cookie-checkWie überprüfe ich, ob Bluetooth programmgesteuert aktiviert ist?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy