我很难理解一件小事。
运行我的代码后,出现以下错误
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