【问题标题】:Android Application Bluetooth visibility durationAndroid 应用蓝牙可见持续时间
【发布时间】:2015-03-21 19:28:40
【问题描述】:

有没有办法让我的应用程序在应用程序运行的一段时间内可被发现?我试着这样做

Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);
startActivityForResult(discoverableIntent, DISC_DURATION);

如 Android Developers 上所示,但 0 的持续时间不起作用,因此设置了默认值 120。有没有办法让它一直可见?

【问题讨论】:

    标签: android bluetooth discoverability


    【解决方案1】:

    没有办法让蓝牙始终处于可发现状态。 当您想找到一些新设备或其他设备可以找到您的设备时,您必须使其可被发现。 之后,您的设备将交换一个共享的 MAC id 并进行配对。

    执行设备发现对于蓝牙适配器来说是一个繁重的过程,并且会消耗大量资源。找到要连接的设备后,请确保始终在尝试连接之前使用 cancelDiscovery() 停止发现。此外,如果您已经与设备建立了连接,那么执行发现会显着减少可用于连接的带宽,因此您不应在连接时执行发现。

    有关更多信息,请参阅此

    http://developer.android.com/guide/topics/wireless/bluetooth.html#DiscoveringDevices

    【讨论】:

      【解决方案2】:

      您无法在任何 2.* 版本的 Android 上将蓝牙设置为持续可发现;见this bug report。似乎在 3.* 版本中已经取消了限制,但我还没有看到任何确认。

      【讨论】:

        【解决方案3】:

        我在我拥有的三台设备上得出结论。

        ANDROID v 4.3 及更高版本:EXTRA_DISCOVERABLE_DURATION 0 无限制 ANDROID v 4.1:EXTRA_DISCOVERABLE_DURATION 0 最长为 1 小时。必须手动更改,以不限制参数。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-01-31
          • 2022-01-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多