我想检查是否在任何Android设备上定期启用蓝牙。有没有我可以用BroadcastReceiver来捕捉的意图,还是有其他方法可以做到这一点?如何检查蓝牙是否以编程方式启用?
回答
你去那里:
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter == null) {
// Device does not support Bluetooth
} else {
if (!mBluetoothAdapter.isEnabled()) {
// Bluetooth is not enable :)
}
}
随着uses-permission
<uses-permission android:name="android.permission.BLUETOOTH" android:required="false" />
感谢您的简短答复! – androidnoob
如果需要蓝牙许可才能进行此检测,请不要忘记将其设置为不需要:
最佳方式http: //stackoverflow.com/a/21010026/2624806 :) – CoDe
在这里,我有其他的选择,因为这个问题的答案。
首先在您的Manifest文件中添加以下行。
<uses-feature android:name="android.hardware.BLUETOOTH" android:required="false"/>
现在,您要检查蓝牙支持能力的位置,请使用以下代码。
boolean isBluetoothSupported = getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
使用可以使用
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
用于检查BT连接
mBluetoothAdapter.getProfileConnectionState(BluetoothHeadset.HEADSET) == BluetoothHeadset.STATE_CONNECTED
用于检查BT断开
mBluetoothAdapter.getProfileConnectionState(BluetoothHeadset.HEADSET) == BluetoothHeadset.STATE_DISCONNECTED
问题不在于检查是否连接了耳机,但是我正在查找这个,所以+1和谢谢:) – Alexandr
要检查蓝牙状态,ON或OFF,编程:
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
}
您还可以收听意图的行动:
BluetoothAdapter.ACTION_STATE_CHANGED
这是我如何与@ xjaphx的答案的帮助下做到了,稍作简化版本:
private boolean getBlueToothOn(){
BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
return btAdapter != null && btAdapter.isEnabled();
}
<uses-permission android:name="android.permission.BLUETOOTH" />
public boolean isBluetoothEnabled()
{
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
return mBluetoothAdapter.isEnabled();
}
在manifest文件权限:蓝牙
<uses-permission android:name="android.permission.BLUETOOTH" />
- 1. 检查蓝牙是否已启用
- 2. 以编程方式检查是否在WindowsCE 5.0上激活蓝牙设备
- 3. iOS以编程方式检查Mac上的蓝牙是否已连接
- 4. 检查是否使用Android应用程序启用蓝牙
- 5. 使用CoreBluetooth以编程方式启用/禁用蓝牙
- 6. 如何检查设备上是否启用了蓝牙
- 7. 以编程方式启用/禁用蓝牙配置文件
- 8. 检查蓝牙关闭时是否可以发现Android蓝牙?
- 9. 以编程方式启用蓝牙HCI日志
- 10. 以编程方式启用Wi-Fi和蓝牙
- 11. 以编程方式打开蓝牙
- 12. Android以编程方式蓝牙配对
- 13. 以编程方式检查在Windows上是否启用了IPv6
- 14. 以编程方式检查iPhone是否已启用GPS
- 15. 如何以编程方式检查Android中蓝牙设备的连接状态?
- 16. 以编程方式启动Windows CE上的蓝牙控制器
- 17. Bluecove:以编程方式重新启动蓝牙堆栈
- 18. 如何以编程方式检查数据漫游是否启用/禁用?
- 19. 如何以编程方式检查是否安装使用Java
- 20. 如何以编程方式检查Microsoft.Office.Interop.Excel是否适用于VB?
- 21. 如何以编程方式检查地理标记是否已启用?
- 22. Mockito测试检查是否启用蓝牙
- 23. 是否可以在Android上以编程方式关闭蓝牙发现功能?
- 24. 如何以编程方式确定蓝牙主/从角色?
- 25. 如何以编程方式在WM中“通过蓝牙连接”?
- 26. 如何以编程方式配对蓝牙设备Android
- 27. 如何以编程方式更改蓝牙参数iPhone?
- 28. 如何以编程方式配对蓝牙设备在Android
- 29. 如何以编程方式获取iPhone的蓝牙MAC地址?
- 30. 如何在android中以编程方式激活蓝牙
只是检查出这个[链接](http://developer.android.com/guide/topics/wireless/bluetooth.html#SettingUp),并遵守所有的步。我希望这个帮助。 – Uttam