Java.lang.SecurityException: приложение с именем пакета ...debug не имеет связи CDM с устройством Bluetooth.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Java.lang.SecurityException: приложение с именем пакета ...debug не имеет связи CDM с устройством Bluetooth.

Сообщение Anonymous »


Я пытаюсь установить псевдоним для моего устройства BLE. В настоящее время у меня есть все остальные настройки (включая подключение и прочее), но мое приложение вылетает, когда я пытаюсь установить псевдоним. Я получаю сообщение об ошибке java.lang.SecurityException: приложение с именем пакета com.....debug не имеет связи CDM с устройством Bluetooth

Я проверил документацию https://developer.android.com/reference ... ng.String) и увидел, что у меня есть все правильные разрешения (помните, что сканирование и подключение работают для я просто устанавливаю псевдоним).

Часть моего кода:

Манифест:

BLE.java

... ... ... @Override public void onItemClick(AdapterViewadapterView, View view, int i, long l) { if (фрагмент != null && фрагмент.getContext() != null) { if (ActivityCompat.checkSelfPermission(fragment.requireContext(), Manifest.permission.BLUETOOTH_SCAN) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(fragment.requireActivity(), new String[]{Manifest.permission.BLUETOOTH_SCAN}, 102); } } еще { возвращаться; } AlertDialog.Builder alert = новый AlertDialog.Builder(fragment.getContext()); окончательный EditText edittext = новый EditText(fragment.getContext()); alert.setMessage("Введите псевдоним (по умолчанию — имя устройства)"); alert.setTitle("Подключиться к " + mBTDevices.get(i).getName()); alert.setView(edittext); alert.setPositiveButton("Connect", новый DialogInterface.OnClickListener() { public void onClick (диалог DialogInterface, int thatButton) { Псевдоним строки = edittext.getText().toString(); //При соединении с устройством немедленно отмените обнаружение, поскольку требуется много памяти if (фрагмент != null && фрагмент.getContext() != null) { if (ActivityCompat.checkSelfPermission(fragment.requireContext(), Manifest.permission.BLUETOOTH_SCAN) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(fragment.requireActivity(), new String[]{Manifest.permission.BLUETOOTH_SCAN}, 102); } } еще { возвращаться; } bluetoothLeScanner.stopScan(leScanCallback); Строка имя_устройства = mBTDevices.get(i).getName(); DeviceAddress = mBTDevices.get(i).getAddress(); //создаем связь пытаться { Адаптер BluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); Метод getUuidsMethod = BluetoothAdapter.class.getDeclaredMethod("getUuids", null); ParcelUuid[] uuids = (ParcelUuid[]) getUuidsMethod.invoke(адаптер, ноль); если (uuids != ноль) { for (ParcelUuid uuid : uuids) { Log.d("UUID", "UUID: " + uuid.getUuid().toString()); } } еще { Log.d("UUID", "Uuids не найден, обязательно включите Bluetooth!"); } } catch (NoSuchMethodException e) { е.printStackTrace(); } catch (IllegalAccessException e) { е.printStackTrace(); } catch (InvocatingTargetException e) { е.printStackTrace(); } mBTDevices.get(i).createBond(); mBTDevice = mBTDevices.get(i); mBTDevices.remove(i); mDeviceListAdapter.notifyDataSetChanged(); if (ActivityCompat.checkSelfPermission(fragment.requireContext(), Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(fragment.requireActivity(), new String[]{Manifest.permission.BLUETOOTH_CONNECT}, 101); } if(alias != null && !alias.isEmpty()) { если (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { mBTDevice.setAlias(псевдоним); } } bluetoothService = новый BLEConnectionService(fragment.getContext(), viewModel, mBTDevice.getAddress(), viewModel.getDeviceNumber()); viewModel.getConnectedBLEConnections().add(bluetoothService); viewModel.getConnectedBLEDevices().add(mBTDevice); viewModel.addStateFlow(); bluetoothService.initialize(); bluetoothService.connect(mBTDevice.getAddress()); } }); alert.setNegativeButton("Отмена", новый DialogInterface.OnClickListener() { public void onClick (диалог DialogInterface, int thatButton) { диалог.отмена(); } }); оповещение.шоу(); } } Если возможно, я бы хотел использовать метод setAlias вместо использования bluetoothAdapter.

Сообщите мне, если есть дополнительная информация, которая может помочь.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»