Попытка получить BluetoothAdapter; Не удается разрешить метод 'GetSystemService(java.lang.String)'
Я слежу за документами по BluetoothLE в Android Studio:
https://developer.android.com/guide/topics/connectivity/bluetooth-le
Моя цель - настроить Bluetooth для работы с моим Java-приложением.
Почему я получаю сообщение об ошибке "Не удается разрешить метод" и как мне это исправить? Кроме того, почему mBluetoothAdapter является неизвестным классом, если я только что объявил его как имя переменной?
package com.august.sensorclient;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothManager;
import android.content.Context;
import android.content.Intent;
import java.lang.String;
public class BLEScanner {
private BluetoothAdapter mBluetoothAdapter;
// Initializes Bluetooth adapter.
final BluetoothManager bluetoothManager =
(BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
mBluetoothAdapter = bluetoothManager.getAdapter();
// Ensures Bluetooth is available on the device and it is enabled. If not,
// displays a dialog requesting user permission to enable Bluetooth.
if (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
}
Решено: Я СЧИТАЮ ПРИЧИНУ, ПОЧЕМУ МОЙ КОДЕКС НЕ ПОЛУЧИЛ ОШИБОК, ПОТОМУ ЧТО Я БЕЗ НАСТОЯЩЕГО ВЫЗЫВАЮ НИЧЕГО, ПОТОМУ ЧТО Я ПЫТАЛСЯ НАПИСАТЬ ЭТОТ КОД В КЛАСС, А НЕ В ФАКТИЧЕСКУЮ ФУНКЦИЮ.
1 ответ
Отредактируйте свой код с помощью
BluetoothManager bluetoothAdapter = (BluetoothManager)
mContext.getSystemService(Context.BLUETOOTH_SERVICE);
чтобы получить mContext, вы должны передать свой контекст активности в класс BLEScanner.
Или вы можете напрямую кодировать, как это
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();