0

我很难理解一件小事。

运行我的代码后,出现以下错误

C:\Users\faiza\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\permission_handler-6.1.3\android\src\main\java\com\baseflow\permissionhandler\ServiceManager.java:152:
warning: [deprecation] getDefaultAdapter() in BluetoothAdapter has been deprecated
        final BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();                                                                  ^

很明显,我收到此错误是因为BluetoothAdapter方法使用 inServiceManager.java已被弃用,如文档(https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#getDefaultAdapter())中所述。我的 compileSdkVersion 是 31。

这是isBluetoothServiceEnabled函数的样子ServiceManager.java

 private boolean isBluetoothServiceEnabled() {
        final BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        return bluetoothAdapter.isEnabled();

        // --- Solution #1 (Didn't work)
        // val bluetoothManager = context.getSystemService(Context.BLUETOOTH_SERVICE);
        // bluetoothManager.getAdapter().isEnabled();
        
        // --- Solution #1 (Didn't work)
        // if (Build.VERSION.SDK_INT >= 31) {
        // bluetoothManager = BluetoothManager.getAdapter();
        // return bluetoothManager;
        // } else {
        // bluetoothManager = BluetoothAdapter.getDefaultAdapter();
        // return bluetoothManager;
        // }
    }

现在在谷歌上搜索我发现了以下解决方案。他们每个人都在犯错误。 https://stackoverflow.com/a/69894425/7290043 https://stackoverflow.com/a/52231933/7290043

4

1 回答 1

-1

我在函数上方添加了@SuppressWarnings("deprecation"),这对我有用。

于 2022-02-17T17:40:06.803 回答