Java Samsung上的逻辑运算符短路
我的一个应用程序中报告了NullPointerException。 stacktrace可以让我检查一些与BLE相关的特性 代码如下:Java Samsung上的逻辑运算符短路,java,android,samsung-mobile,Java,Android,Samsung Mobile,我的一个应用程序中报告了NullPointerException。 stacktrace可以让我检查一些与BLE相关的特性 代码如下: private static boolean areHardwareFeaturesSupported(BluetoothManager bluetoothManager) { BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter(); return bluetoothAd
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的短路),这个表达式甚至不应该尝试调用函数
只有运行棒棒糖(5.0.1)的三星Galaxy S4设备(SGH-I337M)报告了此次崩溃
有没有人遇到过这种问题,或者我的代码有什么问题?我会在返回之前添加一些日志,以确定这是问题所在,因为这种行为可能是oddbluetoothManager。getAdapter()似乎返回null。这个方法看起来像什么?@RC。我从Crashlytics得到了这个报告,我很难复制它。@LoganKulinski该方法返回对BluetoothAdapter的引用