java - NoSuchMethod 异常

标签 java android android-5.0-lollipop bluetooth-lowenergy nosuchmethoderror

我使用的是 BLE startLescan 但它现在已经过时了。现在我已将我的 API 级别更改为 23(从 20) 并为此目的使用了 BluetoothLeScanner。 我的开始扫描函数是:

public void startScan(){
    mBluetoothLeScanner = mBluetoothAdapter.getBluetoothLeScanner();

     mBluetoothLeScanner.startScan(new ScanCallback() {
            @Override
            public void onScanResult(int callbackType, ScanResult result) {
                super.onScanResult(callbackType, result);

                String s = "\nRssi : "+result.getRssi()+"" +
                        "\nName (Get Device) : "+result.getDevice().getName()+"" +
                        "\nBytes"+result.getScanRecord().getBytes()+"" +
                        "\nGet Device : " + result.getDevice()+"" +
                        "\nAddress : "+result.getDevice().getAddress()+"" +
                        "\nService UUIds : "+result.getScanRecord().getServiceUuids().get(0)+"" +       //Unique
                        "\nName (Scan Record) : "+result.getScanRecord().getDeviceName()+"" +
                        "\nUuids device : "+result.getDevice().getUuids()+"" +
                        "\nDescribe contents : "+result.describeContents();

                //This will show you all the data in logs.
                Log.e("All Data",s);



            }

            @Override
            public void onBatchScanResults(List<ScanResult> results) {
                super.onBatchScanResults(results);
            }

            @Override
            public void onScanFailed(int errorCode) {
                super.onScanFailed(errorCode);
            }
        });

当我到达第一行时,

java throws a nosuchmethod exception:

method lookup failed for selector "getBluetoothLeScanner" with signature "()Landroid/bluetooth/le/BluetoothLeScanner;"

最佳答案

在这种情况下需要一个 BluetoothAdapter 的实例。做这样的事情:

Context mContext = getBaseContext();
BluetoothAdapter mBluetoothAdapter = (BluetoothManager) mContext.getSystemService(Context.BLUETOOTH_SERVICE).getAdapter();
BluetoothLeScanner mBluetoothLeScanner = mBluetoothAdapter.getBluetoothLeScanner();

mBluetoothLeScanner.startScan(new ScanCallback() {….

}

关于java - NoSuchMethod 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38236593/

相关文章:

java - 在没有任何列数据的情况下扫描 HBase 中的行名

android - 新手无法编写 Hello world 应用程序

java - 安卓 5.0 IllegalArgumentException : Service Intent must be explicit: on com. google.android.location.internal.GoogleLocationManagerService.START

android - 我在哪里为 Android 5.0 中的工具栏小部件定义 XML?

java - 查找奇数/偶数

java.lang.IllegalStateException : does not have a NavController set on xxxxx(location address) error 错误

java - 你如何模拟输出流?

android - 正在使用适合长时间运行的网络调用的 WorkManager

Android:RIL 移植 - 使用我的 GPRS+GSM (pppd+chat) 的网络设置问题

Android 深层链接总是首先在浏览器中打开,然后才是正确的 Activity