最近这两天在学习安卓中的蓝牙使用.收获颇多,现在分享一些心得.
要操作蓝牙,首先要在manifest文件中加入权限
<uses-permission android:name="android.permission.BLUETOOTH"/> <!-- 普通权限 -->
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <!-- 牛逼权限 -->
普通权限所做的事有限,所以一般都两句直接写上,拿到高级的权限.
有了权限,在activity中加入一个蓝牙适配器.
<span style="white-space:pre"> </span>BluetoothAdapter mBluetoothAdapter;<span style="white-space:pre"> </span>//作为类的成员
在oncreate方法中获取到手机默认的蓝牙
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
注意,安卓设备支持多个蓝牙,但是编程的时候只能获取到默认的一个蓝牙设备.估计这方面以后会改进的.
获取到蓝牙设备以后,就可以知道蓝牙的名字,mac地址
String dName = mBluetoothAdapter.getName(); //获取蓝牙名字
String dAdress = mBluetoothAdapter.getAddress()); //获取蓝牙设备地址
如果你听我的加入了前面所说的牛逼权限.那么恭喜你,你可以手动设置蓝牙的名字了!
mBluetoothAdapter.setName("myBlueTooth"); //将名字设置为了 myBlueTooth
一开始我走入了一个误区,以为必须要先开启蓝牙才能获得名字,地址或者设置名字.
而事实上,只要你的安卓设备上有蓝牙,并且已经使用了mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();方法.
你就可以进行上面的操作.
好吧,我们接下来讲怎么使用代码开启蓝牙.
开启蓝牙有两种方法,第一种比较粗暴简单.
mBluetoothAdapter.enable(); //直接设置蓝牙开启,无任何提示
作为一个比较直接的人,我就喜欢这种方法.
当然也有第二种较为友好的方法,会弹出个对话框来让用户确认是否开启蓝牙.
startActivityForResult(new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE), 0);
关于activity,我以前的博文也有讲过,这里不再赘述了.
关闭蓝牙,也有一个方法
mBluetoothAdapter.disable(); //直接关闭
好了,由于时间关系,这篇博文到此为止,至于蓝牙的搜索,链接.
我会在下一篇博文中详细说明.