是否可以通过编程方式在可发现模式下进行android / ios蓝牙阻止/拒绝连接请求?

时间:2016-10-11 15:16:21

标签: android ios bluetooth request block

我正在编写一个android / ios应用程序来检测/搜索打开蓝牙的另一部手机并获取这些名称和mac地址以进行进一步的功能开发。该应用程序将作为后台服务运行,继续扫描蓝牙设备。

问题:

  1. 对于Android,手机蓝牙需要变为可发现模式,可以让另一部手机扫描/检测并获取名称和mac地址。因此,我担心电话用户不断请求另一部电话造成干扰,因为连接对请求可以让电话弹出一个确认对话框。是否可以通过编程方式阻止/拒绝可发现模式下的连接请求?手机可以扫描蓝牙设备并可以获取信息,但在应用程序运行时无法请求连接。

  2. 对于iOs,存在同样的问题,但还有一个问题我想问。蓝牙可以继续扫描到像android后台服务这样的背景吗?

  3. 关闭蓝牙信号仍可扫描的Android设备屏幕。但iOs设备不能。当屏幕关闭时,是否可以让iOs蓝牙设备仍然可以扫描。

  4. 非常感谢!

1 个答案:

答案 0 :(得分:0)

只要您将背景功能添加到应用中,即可在后台扫描蓝牙设备(即使设备已锁定)。只需在您的应用启动时开始扫描,并且不要停止。

但是,这会占用大量电池电量(每20毫秒扫描一次),如果附近有实际的蓝牙设备,则会更多(因为可能会要求扫描响应)。

相反,请查看CoreLocation类中的Region Monitoring and iBeacon功能。这是为了高效发现BLE信标。

您将无法在iOS上获取MAC地址。你将获得UUID。

如果用户强制杀死应用程序,后台扫描将停止。