Я работаю над приложением Bluetooth со студией Android.Сегодня у меня странная проблема.У меня есть 3 устройства Bluetooth, смартфон, планшет и другое устройство, но нас это не волнует.
Я запускаю одно и то же приложение на обоих устройствах, но смартфон работает на Android 8.1 (API27) и планшет на Android 4.0.4 (API 15).На смартфоне приложение работает хорошо.Когда я сканирую близлежащие устройства, я получаю 4 разных устройства.
Но есть проблема.На планшете, когда я сканирую близлежащие устройства, я почти в 10 раз обнаружил каждое устройство, обнаруженное моим смартфоном.Я действительно не знаю, почему оба устройства не обнаруживают как друг друга.Возможно, причиной этой ошибки является версия Android.
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) { // discover devices
Scanned_devices = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
scanned_deviceName = Scanned_devices.getName();
scanned_macAddress = Scanned_devices.getAddress();
mDeviceList.add(scanned_deviceName + "\n" + scanned_macAddress);
Log.i("BT", scanned_deviceName + "\n" + scanned_macAddress);
Set<BluetoothDevice> pairedDevices = blueAdapter.getBondedDevices();
if (pairedDevices.size() > 0) {
for (BluetoothDevice device : pairedDevices) {
try {
if (scanned_deviceName.equals(device.getName()) || scanned_macAddress.equals(device.getAddress())) {
Toast.makeText(getApplicationContext(), "Already Paired", Toast.LENGTH_LONG).show();
mDeviceList.remove(scanned_deviceName + "\n" + scanned_macAddress);
} //else {
//mDeviceList.add(scanned_deviceName + "\n" + scanned_macAddress);
//Log.i("BT", scanned_deviceName + "\n" + scanned_macAddress);
//}
}catch(Exception e)
{
Log.d("tag", "not working");
Toast.makeText(getApplicationContext(), "not working..", Toast.LENGTH_LONG).show();
}
}
}
Scanned_devices_ListView.setAdapter(new ArrayAdapter<String>(context, android.R.layout.simple_list_item_1, mDeviceList));
}
}
};