Попытка получить BluetoothAdapter; Не удается разрешить метод 'GetSystemService (java.lang.String)' - PullRequest
0 голосов
/ 07 сентября 2018

Я слежу за документами по 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);
    }

}

enter image description here

Решено: Я СЧИТАЮ ПРИЧИНУ, ПОЧЕМУ МОЙ КОДЕК НЕ ПОЛУЧИЛ ОШИБОК, ПОТОМУ ЧТО Я НЕ БЫЛ НАСТОЯЩИМ ВЫЗЫВАТЬ НИЧЕГО, ПОТОМУ ЧТО Я ПЫТАЛСЯ НАПИСАТЬ ЭТОТ КОД В КЛАСС И НЕ В АКТУАЛЬНУЮ ФУНКЦИЮ.

1 Ответ

0 голосов
/ 08 сентября 2018

Редактируйте ваш код с помощью

 BluetoothManager bluetoothAdapter = (BluetoothManager) 
 mContext.getSystemService(Context.BLUETOOTH_SERVICE);

чтобы получить mContext, вы должны передать свой контекст активности в класс BLEScanner.

Или вы можете напрямую кодировать, как это

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
...