Android自动启用蓝牙 - >应用程序需要重新启动才能正常使用蓝牙

时间:2012-06-09 10:05:19

标签: android bluetooth android-activity

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

@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);
}

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

由于

干杯

菲利克斯

1 个答案:

答案 0 :(得分:1)

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

启用蓝牙需要一些时间。您应该正在侦听BluetoothAdapter.ACTION_STATE_CHANGED意图以查看实际启用适配器的时间。