android 蓝牙的基本操作

本文详细介绍了如何在Android设备上管理蓝牙设备,包括检查蓝牙设备是否存在、判断蓝牙是否开启、获取已配对设备地址、设置蓝牙可见性、扫描周围蓝牙设备及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一,获得BluetoothAdapter对象

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();

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

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

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

 

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

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

  1. Set<BluetoothDevice> devices = adapter.getBondedDevices();  
  2.                 if(devices.size()>0){  
  3.                     for(Iterator iterator = devices.iterator();iterator.hasNext();){  
  4.                         BluetoothDevice device = (BluetoothDevice) iterator.next();  
  5.                         System.out.println("已配对的设备:"+device.getAddress());  
  6.                     }  
  7.                 }  

五,设置蓝牙的可见性

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

六,扫描周围的蓝牙设备

  1. adapter.startDiscovery();  

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

  1. class BlutetoothReceiver extends BroadcastReceiver{  
  2.   
  3. @Override  
  4. public void onReceive(Context context, Intent intent) {  
  5.     //从收到的intent对象中将代表远程蓝牙设配器的对象取出   
  6.     BluetoothDevice devices = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);  
  7.     System.out.println(devices.getAddress());  
  8. }  
  9.       
  10.   }  

七,注意事项:权限

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

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

我的话费充值店-各种面额

电信100元仅售98.60 
联通100仅售99.00
移动100仅售99.30

<script></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值