在Android中以编程方式打开蓝牙并搜索设备

6
我需要通过代码打开蓝牙,而无需要求用户启用它,然后发现所有可连接的设备并返回这些设备,最后关闭蓝牙连接。
如何实现?

“蓝牙应该在直接得到用户同意之前被启用。” http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html#enable%28%29 - BFil
1个回答

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,该Intent将弹出对话框,请求用户权限以打开蓝牙。只有包括“电源管理器”应用等用户界面更改系统设置的应用程序才提供enable()方法。

但是如果你真的想在不要求用户授权的情况下启用设备蓝牙,请添加以下内容:

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

请在您的应用程序中的清单文件中添加权限以使用此代码

BluetoothAdapter.enable()

嗨,Shaunak,感谢您的回复... 我通过您提供的链接找到了设备的其中一个部分... 现在您能告诉我如何在不向用户发送提示启用蓝牙的情况下打开蓝牙吗? :) - coderslay
1
@Coder_sLaY 你能否在这里发布你的代码,以及你是如何找到设备的。 - Ganesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接