您的位置:首页 > 移动开发 > Android开发

android开发之蓝牙初步 扫描已配对蓝牙、更改蓝牙可见性、搜索外部蓝牙设备

2017-02-17 14:57 716 查看
这两天我学习了Android蓝牙的一些简单操作,今天和大家分享一下。

一,获得BluetoothAdapter对象

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();

二,判断当前设备中是否有蓝牙设备

if(adapter!=null){

      //有蓝牙设备

     }else{

      //没有蓝牙设备

     }

三,判断蓝牙是否打开和打开蓝牙

 

[html] view
plain copy

if(adapter.isEnabled()){  

    //BluetoothAdapter.ACTION_REQUEST_ENABLE为启动蓝牙的action  

    Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);  

    startActivity(intent);  

   }  

 

四,得到所有已经配对蓝牙设备地址

[java] view
plain copy

Set<BluetoothDevice> devices = adapter.getBondedDevices();  

                if(devices.size()>0){  

                    for(Iterator iterator = devices.iterator();iterator.hasNext();){  

                        BluetoothDevice device = (BluetoothDevice) iterator.next();  

                        System.out.println("已配对的设备:"+device.getAddress());  

                    }  

                }  

五,设置蓝牙的可见性

[java] view
plain copy

//启动修改蓝牙可见性的Intent  

                    Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);  

                    //设置蓝牙可见性的时间,方法本身规定最多可见300秒  

                    intent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);  

                    startActivity(intent);  

六,扫描周围的蓝牙设备

[java] view
plain copy

adapter.startDiscovery();  

android把扫描到的蓝牙设备通过广播的形式发出去,所以想接收扫描结果就必须写个广播接收器类。

[java] view
plain copy

class BlutetoothReceiver extends BroadcastReceiver{  

  

@Override  

public void onReceive(Context context, Intent intent) {  

    //从收到的intent对象中将代表远程蓝牙设配器的对象取出  

    BluetoothDevice devices = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);  

    System.out.println(devices.getAddress());  

}  

      

  }  

七,注意事项:权限

注意:模拟器上不能模拟蓝牙设备,只能在真机上才能看到结果。

[html] view
plain copy

<!-- 使用蓝牙设备的权限 -->  

   <uses-permission android:name="android.permission.BLURTOOTH"/>  

    <!-- 管理蓝牙设备的权限 -->  

   <uses-permission android:name="android.permission.BLURTOOTH_ADMIN"/>  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐