2
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 异常。

4

1 回答 1

0
BluetoothManager btManager = new BluetoothManager(this);

仅在 onCreate 中本地声明。

尝试将BlueToothManager btManager;其作为类范围的字段(就在类声明下方)。然后,在 oncreate 内部:

btManager = new BluetoothManager(this); 

然后,看看你是否可以在没有 onResume 中的空指针的情况下访问它!

于 2012-06-06T00:14:42.003 回答