【问题标题】:What does bluetoothAdapter.getAddress() return when bluetooth is off?蓝牙关闭时 bluetoothAdapter.getAddress() 返回什么?
【发布时间】:2012-12-07 20:11:11
【问题描述】:

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

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

我还遇到了一个小问题,即查找每个平板电脑的唯一标识符,但我选择查找 wifi 和蓝牙 MAC 地址。

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

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

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

【问题讨论】:

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


    【解决方案1】:

    使用此代码启用蓝牙服务

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

    【讨论】:

      【解决方案2】:

      关于安装唯一标识的相当古老但非常有用的帖子。找到它here

      附加评论:在我看来,当应用程序实际上不需要 BT 时,将蓝牙权限添加到您的应用程序清单中真的很糟糕。我个人想知道为什么,可能我会避免使用这样的应用程序。更糟糕的是,我如果应用程序在未经我许可的情况下使用一些 woobly-jubly 变通方法转为 BT 会非常恼火。如果您想要成功的应用程序,请尊重您的用户

      干杯

      【讨论】:

        猜你喜欢
        • 2016-11-02
        • 2014-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-18
        相关资源
        最近更新 更多