我想了解是什么原因导致Android BluetoothAdapter
在没有任何用户干预的情况下自动更改其扫描模式?我注册了BroadcastReceiver
来收听扫描模式的变化。最初它在SCAN_MODE_CONNECTABLE_DISCOVERABLE
,然后一段时间(一分钟左右)后变为SCAN_MODE_CONNECTABLE
。
是否有任何导致此类更改的系统事件?
答案 0 :(得分:0)
Android系统会在系统活动中显示的超时后自动将蓝牙更改回不可发现状态,该系统活动请求允许设备被发现的权限。
默认超时为120秒。如果需要,您的应用可以使用BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION请求更长的超时。此超时最长可达3600秒。以下是Bluetooth documentation请求5分钟超时的示例:
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
startActivity(discoverableIntent);