Android 蓝牙扫描



2015-09-24 16:31 
Weiggle 
阅读(449
评论(0
编辑 
收藏 
举报

 

一,获得BluetoothAdapter对象

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();

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

if(adapter!=null){
      //有蓝牙设备
     }else{
      //没有蓝牙设备
     }

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

 

if(adapter.isEnabled()){  
    //BluetoothAdapter.ACTION_REQUEST_ENABLE为启动蓝牙的action  
    Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);  
    startActivity(intent);  
   }  

 

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

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());  
                    }  
                }  

 

五,设置蓝牙的可见性

//启动修改蓝牙可见性的Intent  
                    Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);  
                    //设置蓝牙可见性的时间,方法本身规定最多可见300秒  
                    intent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);  
                    startActivity(intent);  

 

六,扫描周围的蓝牙设备

adapter.startDiscovery();  

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

 

七,注意事项:权限

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

 

<!-- 使用蓝牙设备的权限 -->  
   <uses-permission android:name="android.permission.BLURTOOTH"/>  
    <!-- 管理蓝牙设备的权限 -->  
   <uses-permission android:name="android.permission.BLURTOOTH_ADMIN"/>  

 

版权声明:本文为wei1228565493原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wei1228565493/p/4835745.html