public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BluetoothManager btManager = new BluetoothManager(this);
setContentView(R.layout.main);
if (!btManager.isEnabled()) {
btManager.requestBluetoothEnable();
discoveryStarted = false;
} else {
if (btManager.isDeviceSetNullOrEmpty()) {
btManager.startDiscovery();
discoveryStarted = true;
}
}
}
@Override
public void onResume(){
super.onResume();
if( btManager.isEnabled() && discoveryStarted == false ){
即使初始化了btManager类(一些蓝牙类的包装器),我仍然在这里得到NullPointer异常。
最佳答案
BluetoothManager btManager = new BluetoothManager(this);
仅在onCreate中本地声明。
尝试将
BlueToothManager btManager;
作为类范围的字段(仅在类声明下方)。然后,在oncreate中:btManager = new BluetoothManager(this);
然后,查看是否可以在onResume中没有nullpointer的情况下访问它!