是否有一种方法可以让我的应用程序在运行时被发现?我试着用
来做这个Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);
startActivityForResult(discoverableIntent, DISC_DURATION);
显示在Android开发人员,但持续时间0不能工作,所以设置默认值120。有没有办法让它一直可见?
没有办法让蓝牙始终处于可发现状态。当你想找到一些新设备或其他设备可以找到你的设备时,你必须使它可发现。之后,你的设备将交换一个共享的MAC id,并将配对。
执行设备发现对于蓝牙适配器来说是一个繁重的过程,并且会消耗大量的资源。找到要连接的设备后,请确保在尝试连接之前总是使用cancelDiscovery()停止发现。此外,如果您已经与某个设备保持了连接,那么执行发现可能会大大减少该连接的可用带宽,因此您不应该在连接时执行发现。
查看更多信息
http://developer.android.com/guide/topics/wireless/bluetooth.html DiscoveringDevices
您无法将蓝牙设置为在任意2上连续可发现。* Android版本;请参阅此bug报告。这个限制似乎在3中被移除了。
我得出结论,我有三个设备。
ANDROID v 4.3及更高版本:EXTRA_DISCOVERABLE_DURATION 0工作没有限制ANDROIND v 4.1: EXTRA_DISCOVERABLE_DURATION 0是最大1小时。必须手动更改为参数无限制