android 自动配对具有特定名称的蓝牙设备
android automaticly pair bluetooth device with specific name
我正在寻找一种方法来扫描具有特定名称的所有蓝牙设备(比方说 "SC_0001"、"SC_0002"、e.t.c。)并自动将它们与我的 phone.
我已经创建了一个可以列出所有配对设备并让用户 select 一个的应用程序。但我不希望用户必须手动配对所有这些设备(这会花费太多时间)。
您可以使用蓝牙设备的getname()
方法class
根据 getname()
的文档
Get the friendly Bluetooth name of the remote device.
The local adapter will automatically retrieve remote names when performing a device scan, and will cache them. This method just returns the name for this device from the cache.
然后,使用str1.equals(str2)
方法比较两个字符串。
编辑 1
这是方法,您可以获取未配对设备的列表。
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// When discovery finds a device
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// Get the BluetoothDevice object from the Intent
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
// If it's already paired, skip it, because it's been listed already
if (device.getBondState() != BluetoothDevice.BOND_BONDED)
{
// compare device.getName() and your string here, if satisfied, add them to the list-view.
tv.setText(device.getName() + "\n" + device.getAddress());
这里是 link 文档。 BluetoothDevices
我正在寻找一种方法来扫描具有特定名称的所有蓝牙设备(比方说 "SC_0001"、"SC_0002"、e.t.c。)并自动将它们与我的 phone.
我已经创建了一个可以列出所有配对设备并让用户 select 一个的应用程序。但我不希望用户必须手动配对所有这些设备(这会花费太多时间)。
您可以使用蓝牙设备的getname()
方法class
根据 getname()
Get the friendly Bluetooth name of the remote device.
The local adapter will automatically retrieve remote names when performing a device scan, and will cache them. This method just returns the name for this device from the cache.
然后,使用str1.equals(str2)
方法比较两个字符串。
编辑 1
这是方法,您可以获取未配对设备的列表。
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// When discovery finds a device
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// Get the BluetoothDevice object from the Intent
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
// If it's already paired, skip it, because it's been listed already
if (device.getBondState() != BluetoothDevice.BOND_BONDED)
{
// compare device.getName() and your string here, if satisfied, add them to the list-view.
tv.setText(device.getName() + "\n" + device.getAddress());
这里是 link 文档。 BluetoothDevices