弱龄寄事外,委怀在琴书。这篇文章主要讲述在Android上禁用蓝牙可发现模式相关的知识,希望能为你提供帮助。
我在android文档中找到了如何打开蓝牙可发现性模式:
Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
startActivity(discoverableIntent);
这将使设备可被发现300秒(documentation)。
我的问题是:在超时发生之前如何关闭可发现性?我想在“设置”|“无线和网络”|“蓝牙设置”小程序中复制相应的设置,以便通过单击打开和关闭可发现性。
有帮助吗?
答案只需发送持续时间为1的新可发现请求(或者0甚至可能有效):
Intent discoverableIntent = new
Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 1);
startActivity(discoverableIntent);
另一答案
cancelDiscovery()
不是为了这个。此方法可用于停止扫描其他蓝牙设备的设备。与此不同的是,使设备不可见。另一答案使用此方法时要小心,因为隐藏它可能很容易更改。
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
try {
Method method = BluetoothAdapter.class.getMethod("setScanMode", int.class);
method.invoke(bluetoothAdapter, BluetoothAdapter.SCAN_MODE_CONNECTABLE);
} catch (NoSuchMethodException | IllegalArgumentException | IllegalAccessException | InvocationTargetException e) {
Log.e(TAG, "Failed to turn off bluetooth device discoverability.", e);
}
也适用于
SCAN_MODE_NONE
和SCAN_MODE_CONNECTABLE_DISCOVERABLE
(使用默认持续时间)【在Android上禁用蓝牙可发现模式】Source
推荐阅读
- Android DatePicker显示月份名称
- 在Android 2.3上实现OBEX PUSH服务器
- Android和双模蓝牙设备(与BR / EDR(经典)配对时未找到自定义BLE服务)
- Android的多重连接
- Android - 检测我的应用的其他用户是否在附近
- 从android下载文件时出现套接字异常
- Android 3g下载和多线程
- Android中的文件下载[关闭]
- 哪里可以找到WordPress的Genesis儿童主题()