1、获取本地的蓝牙适配器--BluetoothAdapter
任何蓝牙activity都需要BluetoothAdapter类。使用静态方法getDefaultAdapter()获得一个BluetoothAdapter的实例,这代表了设备本身的蓝牙适配器(the Bluetooth radio)。整个系统只有一个蓝牙适配器,你的程序可以通过获取到BluetoothAdapter实例与之交互。如果getDefaultAdapter()方法返回null则说明你的设备不支持蓝牙。
实例代码如下:
BluetoothAdapter adapter=BluetoothAdapter.getDefaultAdapter();
<span style="white-space:pre"> </span>//判断<span style="font-family: Arial, Helvetica, sans-serif;">BluetoothAdapter对象是否为空,如果为空,则表明本机没有蓝牙设备</span>
if(adapter !=null){
System.out.println("本机拥有蓝牙设备");
}
else{
System.out.println("没有蓝牙设备");
}
2、调用isEnabled()方法,打开蓝牙
接下来,你必须确保用户启动了蓝牙。调用isEnabled()方法来检查当前蓝牙是否启动。如果该方法返回false,那么说明蓝牙没有启动。这时需要使用“ACTION_REQUEST_ENABLE”action Intent作为参数,调用startActivityForResult()方法来请求启动蓝牙。这将通过系统设备来发出启动蓝牙的请求(不会停止你的程序)。
执行如上的代码将会弹出一个对话框,请求启动蓝牙的用户权限。如果用户点击“Yes”按钮,那么系统将开始启动蓝牙,启动蓝牙(有可能失败)之后你的程序将重新获得焦点。
实例代码如下:
//调用isEnabled()方法,判断当前蓝牙设备是否可用
if(!adapter.isEnabled()){
//创建一个intent对象,该对象用于启动一个Activity,提示用户开启蓝牙设备
Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivity(intent);
//不做提示,强行打开
// mAdapter.enable();
}