我正在开发一个需要在一个小时内随机间隔进行蓝牙扫描的应用程序。该应用程序还依赖在这些时间间隔内可发现的设备。由于android已将可发现设备的时间最长延长到300秒,因此我需要找到解决方法,以便可以在一小时内在3,300秒的时间内发现设备,而无需用户进行交互。我同意用户必须允许该应用在第一次扫描时就可以被发现,而不能在其他2次扫描时被发现。
任何帮助在这里都得到极大的赞赏,我完全不知所措。
答案 0 :(得分:0)
请参见以下代码:
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
startActivity(discoverableIntent);
这将设置手机的持续时间为5分钟或300秒。它显示一个对话框以获取用户的许可。
此外,如果您想让手机始终都能被发现,请使用以下命令:
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0);
但是,出于安全考虑,强烈建议不要这样做。
您可以通过以下链接获取更多信息:https://developer.android.com/guide/topics/connectivity/bluetooth
如果您不知道如何开始,建议您阅读一些内容,查看示例和/或观看YouTube上的教程。
祝你好运