0

有没有办法让我的应用程序在应用程序运行时被发现?我试着用

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

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

4

3 回答 3

0

您无法将蓝牙设置为在任何 2.* 版本的 Android 上持续可发现;看到这个错误报告。似乎限制已在 3.* 版本中删除,但我还没有看到任何确认。

于 2011-08-03T18:34:38.603 回答
0

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

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

于 2015-03-21T11:28:40.480 回答
0

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

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

有关更多信息,请参阅此

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

于 2011-08-03T11:25:18.830 回答