android - 蓝牙关闭时 bluetoothAdapter.getAddress() 返回什么?

标签 android bluetooth android-service android-wifi android-wireless

可能这个问题看起来很奇怪,但实际上并不完全是:)

我构建了一个可以在不同的 Android 平板电脑上运行的应用程序。

我还有一个关于为每台平板电脑查找和唯一标识符的小问题,但我选择查找 wifi 和蓝牙 MAC 地址。

我阅读了 android 文档,但找不到我的问题的答案。这真的很奇怪,因为在我使用 bluetoothAdapter.getAddress() 的设备上,即使蓝牙服务已关闭,它也会返回实际的蓝牙 MAC 地址,我不知道为什么,但这不是问题所在。我认为并不是所有的 android 平板电脑都像我的一样特别,如果服务关闭,也不是所有的 android 平板电脑都会返回蓝牙 MAC 地址。但实际上 bluetoothAdapter.getAddress() 会正常返回什么?服务关闭时是否返回NULL?

如果你想问为什么不简单地打开服务然后找到 MAC 地址我会告诉你这是一个意义的问题:应用程序的目的与设备和东西之间的蓝牙通信没有任何关系就像那样,所以从用户的角度来看,当他打开应用程序时,即使应用程序用于测量距离,平板电脑也需要蓝牙服务,这是不寻常的。

非常感谢那些回答我的问题或给予提示的人!也许还有一个解决方案:如何在用户不知道的情况下打开蓝牙服务。谢谢 ;)

最佳答案

使用此代码启用蓝牙服务

Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
                        startActivityForResult(enableBtIntent, RESULT_OK);

关于android - 蓝牙关闭时 bluetoothAdapter.getAddress() 返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13969934/

相关文章:

ios - Swift 通知中心导致内存泄漏

android - android 12 更新后在特定设备上得到 "lacks permission android.permission.BLUETOOTH"

android - 多个电话/设备之间的通信

android - 如果我使用 try catch 和 finally for handler 使用 runnable 会发生什么?

Android gradle 测试框架 : single class

java - 卡尔曼滤波器和内部状态变量的质量

java - 自然特征追踪 - 增强现实

Android TV(模拟器预览,L 级)- BroadcastReceiver 在 list 中不起作用

android - 如果在服务类上调用 bindService 之后调用 startService 会发生什么情况?

Android:从我正在运行的服务中获取变量