崩溃异常|BluetoothLeScanner.startScan(android.bluetooth.le.ScanCallback)' on a null object reference
java.lang.RuntimeException:Unable to start activity ComponentInfo{com.ywz.meet/com.ywz.meet.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.bluetooth.le.BluetoothLeScanner.startScan(android.bluetooth.le.ScanCallback)’ on a null object reference
2 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3760)
3 …
4 Caused by:
5 java.lang.NullPointerException:Attempt to invoke virtual method ‘void android.bluetooth.le.BluetoothLeScanner.startScan(android.bluetooth.le.ScanCallback)’ on a null object reference
6 com.ywz.meet.MainActivity.scanBle(MainActivity.java:231)
7 com.ywz.meet.MainActivity.initView(MainActivity.java:174)
8 com.ywz.meet.MainActivity.onCreate(MainActivity.java:113)
9 android.app.Activity.performCreate(Activity.java:8066)
10 android.app.Activity.performCreate(Activity.java:8054)
11 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1313)
12 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3733)
13 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3939)
14 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)
15 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
16 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
17 android.app.ActivityThreadH.handleMessage(ActivityThread.java:2373)18android.os.Handler.dispatchMessage(Handler.java:107)19android.os.Looper.loop(Looper.java:213)20android.app.ActivityThread.main(ActivityThread.java:8147)21java.lang.reflect.Method.invoke(NativeMethod)22com.android.internal.os.RuntimeInitH.handleMessage(ActivityThread.java:2373)
18 android.os.Handler.dispatchMessage(Handler.java:107)
19 android.os.Looper.loop(Looper.java:213)
20 android.app.ActivityThread.main(ActivityThread.java:8147)
21 java.lang.reflect.Method.invoke(Native Method)
22 com.android.internal.os.RuntimeInitH.handleMessage(ActivityThread.java:2373)18android.os.Handler.dispatchMessage(Handler.java:107)19android.os.Looper.loop(Looper.java:213)20android.app.ActivityThread.main(ActivityThread.java:8147)21java.lang.reflect.Method.invoke(NativeMethod)22com.android.internal.os.RuntimeInitMethodAndArgsCaller.run(RuntimeInit.java:513)
23 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
蓝牙BLE回调空指针,原因是蓝牙未开启,建议写代码时判断是否开启蓝牙,没有开启就提示开启。
// 检查蓝牙开关
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if (adapter == null) {
APP.toast("本机没有找到蓝牙硬件或驱动!", 0);
finish();
return;
} else {
if (!adapter.isEnabled()) {
//直接开启蓝牙
adapter.enable();
//跳转到设置界面
//startActivityForResult(new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE), 112);
}
}
// 检查是否支持BLE蓝牙
if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) {
APP.toast("本机不支持低功耗蓝牙!", 0);
finish();
return;
}
更多推荐
所有评论(0)