经典蓝牙的使用之-蓝牙权限、蓝牙开启功能和查找配对设备


蓝牙的开启:蓝牙的开启需要用到BluetoothAdapter蓝牙适配器,通过蓝牙适配器的返回值判断系统是否支持蓝牙的使用,然后通过BluetoothAdapter的isEnable()方法判断蓝牙的使用状态,开启蓝牙;

蓝牙的开启有两种方式,第一种是使用系统对话框,第二种是静默的开启方式。

第一种开启方式需要添加的蓝牙权限:

<!--调用系统对话框启动蓝牙需要添加的权限-->
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

添加完权限后,在onCreate方法中实例化BluetoothAdapter蓝牙适配器,通过蓝牙适配器的返回值判断系统是否支持蓝牙的使用;接着在onStart方法中采用系统对话框的方式开启蓝牙,采用startActivityForResult方法,所以在onActivityResult方法中处理开启后的结果,这里采用吐司提醒处理,代码如下所示:

public class MainActivity extends AppCompatActivity {
    private static final String TAG = "bluetooth";
  
    private BluetoothAdapter mBluetoothAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
        //判断设备是否支持蓝牙
        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        if(mBluetoothAdapter == null){
            Log.e(TAG, "Device not support bluetooth" );
        }else{
            Toast.makeText(this, "手机支持蓝牙设备!", Toast.LENGTH_SHORT).show();
        }
    }

    //调用系统对话框开启蓝牙
    @Override
    protected void onStart() {
        super.onStart();
        if(!mBluetoothAdapter.isEnabled()){
            //向系统请求开启蓝牙
            Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
            startActivityForResult(enableIntent,10);
        }else{
            //已经开启蓝牙
            Toast.makeText(this, "蓝牙已经开启", Toast.LENGTH_SHORT).show();
        }
    }
      @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == 
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值