我正在开展涉及蓝牙和Android操作系统的研究项目。我需要无限期地发现蓝牙,以便项目继续进行。
问题:
我正在尝试/尝试过:
致命:远程端意外挂断
正如您可能想象的那样,上述两个问题都存在问题,而且处理起来非常令人沮丧 更多信息:
大问题:
答案 0 :(得分:8)
请参阅以下链接: http://developer.android.com/guide/topics/wireless/bluetooth.html#ConnectingDevices
具体而言,下段中的最后一句:
启用可发现性
如果您想让本地设备可被其他设备发现,请使用startActivityForResult(Intent, int)
操作意图调用ACTION_REQUEST_DISCOVERABLE
。这将通过系统设置发出请求以启用可发现模式(不停止您的应用程序)。默认情况下,设备将在120秒内被发现。您可以通过添加EXTRA_DISCOVERABLE_DURATION
Intent extra来定义不同的持续时间。应用可设置的最长持续时间为3600秒,值为0表示设备始终可被发现。
所以,这应该有效:
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);
startActivity(discoverableIntent);
答案 1 :(得分:0)
如果您查看the BluetoothAdapter class
你会发现隐藏的方法:
public void setDiscoverableTimeout(int timeout)
现在你只需要了解如何使用它。您必须执行方法调用才能执行此操作。