Android 蓝牙的基本使用BluetoothAdapter

android 同时被 2 个专栏收录
5 篇文章 0 订阅
6 篇文章 0 订阅

- 1、前两天有点忙,没怎么写笔记了,刚好有点时间给大家说一下蓝牙的BluetoothAdapterd基本的使用。

  • 2、首先我们在使用蓝牙之前一定要在注册表里把蓝牙的一些权限都加上不然会影响使用的。
<uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  • 3、好了现在我们来看一下BluetoothAdapterd,一看我们就知道他是一个适配器,可他到底是个什么适配器呢,有同学说了:这不明摆着嘛蓝牙的嘛;BluetoothAdapter类简单点来说就是代表了本设备的蓝牙适配器对象,通过它我们可以蓝牙设备进行基本开发了,主要有如下功能: 1、开关蓝牙设备2、扫描蓝牙设备3、设置/获取蓝牙状态信息。

  • 4、好,废话不多说直接上代码,首先我们要声明一下。

 final BluetoothManager bluetoothManager = (BluetoothManager) context.getSystemService(Context.BLUETOOTH_SERVICE);
                BluetoothAdapter adapter = bluetoothManager.getAdapter();
  • 5、直接打开蓝牙。
boolean result = mBluetoothAdapter.enable();  
  • 6、弹框提示打开蓝牙。
if (!mBluetoothAdapter.isEnabled()) //未打开蓝牙,才需要打开蓝牙  
{  
Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);  
startActivityForResult(intent, REQUEST_OPEN_BT_CODE);  
//会以Dialog样式显示一个Activity , 我们可以在onActivityResult()方法去处理返回值  
}  
  • 7、关闭蓝牙。
public  boolean disable ()
  • 8、扫描蓝牙。
public boolean startDiscovery () //扫描蓝牙
public  boolean cancelDiscovery ()//取消扫描
public boolean isDiscovering ()//是否正在扫描
  • 8、获取蓝牙相关信息。
 public String getName ()
 public String getAddress ()
 public boolean setName (String name)
 public Set<BluetoothDevice> getBondedDevices ()
 public static boolean checkBluetoothAddress (String address)
 public BluetoothDevice getRemoteDevice (String address)
  • 9、注册蓝牙广播获取信息。

if(BluetoothDevice.ACTION_FOUND.equals(intent.getAction()))  { 
Log.v(TAG, "BT BluetoothDevice.ACTION_FOUND ");  
                
BluetoothDevicebtDevice=intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);  
                
if(btDevice != null){  
      Log.v(TAG , "Name : " + btDevice.getName() + " Address: " + btDevice.getAddress());  
       }  else if(BluetoothDevice.ACTION_BOND_STATE_CHANGED.equals(intent.getAction()))  {  
      Log.v(TAG,"BTACTION_BOND_STATE_CHANGED");  
intcur_bond_state=intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, BluetoothDevice.BOND_NONE); 

      int previous_bond_state = intent.getIntExtra(BluetoothDevice.EXTRA_PREVIOUS_BOND_STATE, BluetoothDevice.BOND_NONE);  
      
Log.v(TAG, "cur_bond_state " + cur_bond_state + " ~~ previous_bond_state" + previous_bond_state);  
  }  
}  
  • 1
    点赞
  • 0
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值