我刚刚开始学习Java和处理蓝牙。要启用蓝牙,我使用以下代码:
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, 1);
如果蓝牙已关闭,则执行此代码时,用户将具有一个窗口,可以在“启用蓝牙”或“取消”之间进行选择。 当用户做出选择并且此窗口关闭时,我需要执行另一个代码。
如何检查此窗口是否现在打开?
我知道有一个“ onActivityResult”方法可以在窗口关闭时返回结果,但是绝对不能使用它,因此我正在寻找其他方法。
import android.bluetooth.BluetoothManager;
import android.bluetooth.BluetoothAdapter;
import android.content.Intent;
public class MyBluetooth {
private BluetoothManager bluetoothManager;
private BluetoothAdapter bluetoothAdapter;
public void Init() {
bluetoothManager = (BluetoothManager) Context.getSystemService(Context.BLUETOOTH_SERVICE);
bluetoothAdapter = bluetoothManager.getAdapter();
if (bluetoothAdapter == null || !bluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, 1);
}
}
}
答案 0 :(得分:0)
要详细说明为什么不能使用onActivityResult()
吗?
因为在该窗口关闭时,您将在该处处理应用程序并运行所需的代码。