Android蓝牙开发之一:打开、关闭蓝牙

转载地址:http://victorzhong.github.io/2015/07/26/Android%E8%93%9D%E7%89%99%E5%BC%80%E5%8F%91%E4%B9%8B%E4%B8%80%EF%BC%9A%E6%89%93%E5%BC%80%E3%80%81%E5%85%B3%E9%97%AD%E8%93%9D%E7%89%99/

这几天在给14屇创新班的师弟师妹们培训Android开发,这里整理出一份完整的笔记记录一下Android通过蓝牙与单片机通信的详细步骤。本篇是第一篇:实现打开、关闭本机的蓝牙

BluetoothAdapter

首先要介绍的是BluetoothAdapter这个类,这是本地的蓝牙适配器,也就是你自己手机/平板的蓝牙,常用的方法有:

  • getDefaultAdapter: 获取本地的蓝牙适配器
  • isEnabled(): 本地蓝牙是否使能
  • getAddress(); 获取蓝牙MAC地址
  • getName(); 获取蓝牙名字
  • enable(); 打开蓝牙(需要ADMIN权限)
  • disable(); 关闭蓝牙

我们在代码提示里也能看到:

下面我们来看看具体的使用方法。

在IDE里新建好工程(本猿用的是Android Studio),在MainActivity.java里,先声明一个本地的蓝牙适配器:

private BluetoothAdapter bluetoothAdapter;    //本地蓝牙适配器

在onCreate()方法里,我们先要获取系统的蓝牙适配器,并将它赋给我们前面声明的bluetoothAdapter,这样就可以对系统的蓝牙进行操作了。

bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

访问系统的蓝牙需要权限,所以我们要去AndroidManifest.xml文件里添加权限声明(注意android.permission是小写):

回来MainActivity,获取到系统的蓝牙后我们就可以对它进行操作了,但是保全起见还是先判断一下有没有获取到,万一跑这个应用的安卓机没有蓝牙设备呢?

if(bluetoothAdapter == null){  
  Toast.makeText(this,"本地蓝牙不可用",Toast.LENGTH_SHORT).show();
  finish();   //退出应用
}

接下来我们就可以试试上面罗列的方法了。

String Address = bluetoothAdapter.getAddress(); //获取本机蓝牙MAC地址  
String Name = bluetoothAdapter.getName();   //获取本机蓝牙名称  
// 若蓝牙没打开   
if(!bluetoothAdapter.isEnabled()){  
  bluetoothAdapter.enable();  //打开蓝牙,需要BLUETOOTH_ADMIN权限  
}  
// 打印信息
Log.i("getAddress() : ", Address);   
Log.i("getName() : ", Name);

开始调试,把程序烧进手机里,注意查看logcat,不出意外的话都能看到打印出手机蓝牙的Mac地址和蓝牙的名称了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值