BLE Scan Result.getDevice (). GetName () всегда нулевой с Android 8Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 BLE Scan Result.getDevice (). GetName () всегда нулевой с Android 8

Сообщение Anonymous »

Я делаю приложение для Android для связи BLE с физическим устройством. < /p>
Целевая версия SDK - 32 - Min SDK версия - это 23 < /p>
Первый этап, очевидно, сканирует для рекламных устройств. Он отлично работает с Android 6, 10 и 12. Я застрял в этой ситуации, и я надеюсь, что кто -то заметит что -то странное в моем коде.

Код: Выделить всё

@SuppressLint("MissingPermission")
private void doBleScan() {

ScanSettings scanSettings = new ScanSettings.Builder()
.setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
.build();

ArrayList filters = new ArrayList();

mDiscoveredDevices = new HashSet();
mBluetoothLeScanner.startScan(filters, scanSettings, scanCallback);
}
Объект создания Scancallback имеет свой собственный метод OnScanResult:

Код: Выделить всё

@Override
@SuppressLint("MissingPermission")
public void onScanResult(int callbackType, ScanResult result) {
super.onScanResult(callbackType, result);

//always null with Android 8
String deviceName = result.getDevice().getName();

if(deviceName != null) {
txtLog.append("\nDN" + deviceName);
mDiscoveredDevices.add(result.getDevice());
}
}
< /code>
Манифестный файл содержит много объявлений. Проект довольно сложный, а также требует доступа к сетям Wi-Fi, местоположению GPS и памяти планшетов: < /p>






















Конечно, перед сканированием я выполняю проверку разрешений на выполнение. /> в противном случае я проверяю только manifest.permission.access_fine_location < /code> разрешение. < /p>

Код: Выделить всё

private void requestRelevantRuntimePermissions() {
String title;
String message;
String[] permissions;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
title = "Bluetooth permissions required";
message = "Starting from Android 12, the system requires apps to be granted " +
"Bluetooth access in order to scan for and connect to BLE devices.";
permissions = new String[]{Manifest.permission.BLUETOOTH_SCAN,
Manifest.permission.BLUETOOTH_CONNECT};
} else {
title = "Location permission required";
message = "Starting from Android M (6.0), the system requires apps to be granted " +
"location access in order to scan for BLE devices.";
permissions = new String[]{Manifest.permission.ACCESS_FINE_LOCATION};
}
requestPermissions(title, message, permissions);
}

private void requestPermissions(final String title, final String message, final String[] permissions) {

final Activity activity = this;
mPermissionToCheck = permissions;

runOnUiThread(new Runnable() {
@Override
public void run() {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(activity);

alertDialogBuilder
.setTitle(title)
.setMessage(message)
.setCancelable(false)
.setPositiveButton(R.string.btn_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
ActivityCompat.requestPermissions(
activity,
permissions,
RUNTIME_PERMISSION_REQUEST
);
}
});

AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}
});
}
У меня сложилось впечатление, что есть некоторое разрешение не запрошено или не запрошено, но, честно говоря, я не могу определить проблему.
Есть какие -либо предложения?>

Подробнее здесь: https://stackoverflow.com/questions/794 ... -android-8
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Обратный вызов Android BLE Scan, по -видимому, не называется
    Anonymous » » в форуме Android
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Обратный вызов Android BLE Scan, по -видимому, не называется
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Обратный вызов Android BLE Scan, по -видимому, не называется
    Anonymous » » в форуме Android
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Почему данные устройства пусты или не найдены в моих методах getDevice и getListDevice?
    Anonymous » » в форуме Android
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как создать приложение BLE Android для получения данных от ESP32 (BLE Server) в Android Studio? [закрыто]
    Anonymous » » в форуме Android
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous

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