1

我写了一个小应用程序来与蓝牙设备通信。当我启动应用程序时,蓝牙将自动启用。我用这段代码做到这一点:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();  
    if (!mBluetoothAdapter.isEnabled()) {
        Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
        startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
    }
}

但是在自动启用蓝牙后,我无法在我的应用程序中使用蓝牙。我必须重新启动应用程序或转动我的应用程序正常工作的屏幕。

在启用蓝牙后,我尝试了这种解决方法来重新启动活动:

public void onCreate(Bundle savedInstanceState) {
....
    Intent intent = getIntent();
    finish();
    startActivity(intent);
}

但是我的应用程序只会关闭而不会再次启动。有没有人知道如何解决这个问题,我不能使用蓝牙,当我在应用程序启动时启用它?

谢谢

干杯

菲利克斯

4

1 回答 1

1

“但在自动启用蓝牙后,我无法在我的应用程序中使用蓝牙。”

启用蓝牙需要一点时间。您应该监听 BluetoothAdapter.ACTION_STATE_CHANGED 意图以查看适配器何时实际启用。

于 2012-06-09T15:01:56.737 回答