android蓝牙基本操作(个人笔记)

来源:互联网 发布:初中数学出题软件 编辑:程序博客网 时间:2024/05/04 20:08

android的蓝牙操作无非就几种:打开蓝牙、关闭蓝牙、提示用户打开关闭蓝牙、扫描已配对过的蓝牙设备、扫描周围可见的蓝牙设备、设置蓝牙的可见性。

主要的类:BluetoothAdapter(代表本地蓝牙设备)、BluetoothDevice(代表远程蓝牙设备)

使用蓝牙需要的权限:

<!-- 必须 --><uses-permission         android:name="android.permission.BLUETOOTH"/><!-- 设置可见性必须 -->    <uses-permission         android:name="android.permission.BLUETOOTH_ADMIN"/>


1、打开蓝牙:

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();adapter.enable();


2、关闭蓝牙:

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();adapter.disable();

3、提示用户打开关闭蓝牙:

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();//如果Intent传参为BluetoothAdapter.ACTION_REQUEST_DISABLE,则提示关闭Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);startActivity(intent);

4、扫描已配对过的蓝牙设备:

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();//要扫描已配对的设备,必须先打开蓝牙if(!adapter.isEnabled()) adapter.enable();Set<BluetoothDevice> set = adapter.getBondedDevices();

//可通过配对过的蓝牙设备对象,进行一些操作,如果获得他们的max地址Iterator<BluetoothDevice> it = set.iterator();String addresses = "";while(it.hasNext()) {BluetoothDevice device = (BluetoothDevice)it.next();addresses += device.getAddress() + "\n";}


5、扫描周围可见的蓝牙设备:

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();adapter.startDiscovery ();
实际上,每次扫描时系统都会发出广播,有三种,分别表示开始扫描、扫描到可见设备、结束扫描。Action为有BluetoothDevice.ACTION_FOUND表示扫描到可见设备

这里,我写一个广播接收器去接收该广播,并打印出扫描到的可见的蓝牙设备信息(以下是onReceive方法里的代码块):

BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);System.out.println(device.getAddress());




6、设置蓝牙可见性时长:

Intent i = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);i.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 400);startActivity(i);



以下是判断蓝牙是否打开(经常会用到):

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();adapter.isEnabled()


0 0