Я слежу за документами BluetoothLE в Android Studio:
https://developer.android.com/guide/topics/connectivity/bluetooth-le#setup
Моя цель - настроить 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);
}
}
Решено: Я верю, что ПРИЧИНА, ПОЧЕМУ МОЙ КОД НЕ ПОЛУЧАЛ ОШИБКИ, БЫЛА ПОТОМУ ЧТО Я НЕ НАСТОЯЩИЙ НАЗЫВАЛ НИЧЕГО ПОТОМУ ЧТО Я ПЫТАЛСЯ ЗАПИСАТЬ ЭТОТ КОД В КЛАСС, А НЕ В ФАКТИЧЕСКУЮ ФУНКЦИЮ.
@ParagPawar, это хороший вопрос. Я только что копировал из документов Android. Я изучил метод .getDefaultAdapter и не понимаю, почему он не работает. Спасибо
Пожалуйста :)




Отредактируйте свой код с помощью
BluetoothManager bluetoothAdapter = (BluetoothManager)
mContext.getSystemService(Context.BLUETOOTH_SERVICE);
чтобы получить mContext, вы должны передать контекст своей активности в класс BLEScanner.
Или вы можете напрямую написать такой код
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Почему бы вам просто не использовать
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();