【发布时间】:2014-03-20 07:38:36
【问题描述】:
在装有 Android 4.4 的 Nexus 7 上运行时,onScanResult 会引发 NullPointerException,如下面的日志所示:
03-18 17:59:34.170: D/BluetoothAdapter(5092): onScanResult() - Device=78:4B:08:02:7C:91 RSSI=-77
03-18 17:59:34.170: W/BluetoothAdapter(5092): Unhandled exception: java.lang.NullPointerException
但是,其他设备没有这样的问题。
我在googlesource找到了这个
public void onScanResult(String address, int rssi, byte[] advData) {
if (DBG) Log.d(TAG, "onScanResult() - Device=" + address + " RSSI=" +rssi);
// Check null in case the scan has been stopped
synchronized(this) {
if (mLeHandle <= 0) return;
}
try {
BluetoothAdapter adapter = mBluetoothAdapter.get();
if (adapter == null) {
Log.d(TAG, "onScanResult, BluetoothAdapter null");
return;
}
mLeScanCb.onLeScan(adapter.getRemoteDevice(address), rssi, advData);
} catch (Exception ex) {
Log.w(TAG, "Unhandled exception: " + ex);
}
}
这有许多潜在的罪魁祸首,但我当然不能为这些变量设置值。
为什么 Nexus 7 会失败,而其他设备则不会?任何解决方法的想法?
【问题讨论】:
标签: android bluetooth-lowenergy android-bluetooth