需要以编程方式打开蓝牙并在Android中发现设备

Cod*_*LaY 6 android bluetooth

我需要通过我的代码打开蓝牙而不要求用户启用它,然后发现范围内的所有设备并返回这些设备,然后关闭蓝牙连接.

怎么做?

Sha*_*nak 10

我想这里正是你需要的.

https://developer.android.com/guide/topics/connectivity/bluetooth.html#FindingDevices

https://developer.android.com/guide/topics/connectivity/bluetooth.html#DiscoveringDevices

关于在不询问用户的情况下启用蓝牙,以下是该文档所说的内容:

未经用户同意,不得启用蓝牙.如果要打开蓝牙以创建无线连接,则应使用ACTION_REQUEST_ENABLE Intent,这将引发一个请求用户打开蓝牙权限的对话框.enable()方法仅适用于包含用于更改系统设置的用户界面的应用程序,例如"power manager"应用程序.

但是,如果你真的想在不询问用户的情况下启用设备蓝牙.添加后:

 <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
Run Code Online (Sandbox Code Playgroud)

您的清单的权限在您的应用程序中使用此代码

BluetoothAdapter.enable()
Run Code Online (Sandbox Code Playgroud)