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?
Wie überprüfe ich, ob Bluetooth programmgesteuert aktiviert ist?
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" />
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
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
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
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