我在其中一个应用中报告了NullPointerException。 堆栈跟踪让我到了检查一些BLE相关功能的地步。
代码如下:
private static boolean areHardwareFeaturesSupported(BluetoothManager bluetoothManager) {
BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();
return bluetoothAdapter != null
&& bluetoothAdapter.isOffloadedFilteringSupported()
&& bluetoothAdapter.isOffloadedScanBatchingSupported();
}
引发异常的原因如下:
java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.bluetooth.IBluetooth.isOffloadedFilteringSupported()' on a null object reference
我很困惑,因为如果对象为null(因为Java的短路),这个表达式甚至不应该尝试调用该函数。
此故障仅在Samsung Galaxy S4设备(SGH-I337M)上报告,运行Lollipop(5.0.1)。
有没有人遇到过这类问题,或者我的代码有问题?