Android开发实现实时检测蓝牙连接状态的方法【附源码下载】

 更新时间:2017年11月27日 11:20:40   作者:晚秋星辰  
这篇文章主要介绍了Android开发实现实时检测蓝牙连接状态的方法,涉及Android针对蓝牙连接状态的监测操作相关实现技巧,需要的朋友可以参考下

本文实例讲述了Android开发实现实时检测蓝牙连接状态的方法。分享给大家供大家参考,具体如下:

本程序能实时监听并检测Android蓝牙的连接状态,无论是通过界面上的switch按钮打开/关闭手机蓝牙,还是手动打开/关闭手机蓝牙,程序都能监听当前的状态。

一、软件界面

二、程序实现

① switch开关—-打开/关闭蓝牙

Switch switchTest = (Switch) findViewById(R.id.switch1);
switchTest.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
 @Override
 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  if (isChecked) {
   mBluetoothAdapter.enable();//打开蓝牙
  } else {
   mBluetoothAdapter.disable();// 关闭蓝牙
  }
 }
});

② 查看蓝牙状态监听

Button btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
 @Override
 public void onClick(View view) {
  Toast.makeText(MainActivity.this, "bluetooth is " +bluetoothStatus,
    Toast.LENGTH_SHORT).show();
 }
});

③ 监听蓝牙连接状态

AndroidManifest权限设置:

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

可点击此处查看Android权限设置

监听代码:

//注册蓝牙监听
mContext.registerReceiver(mReceiver, makeFilter());
//注销蓝牙监听
//mContext.unregisterReceiver(mReceiver);
private IntentFilter makeFilter() {
  IntentFilter filter = new IntentFilter();
  filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
  return filter;
}
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
  @Override
  public void onReceive(Context context, Intent intent) {
   switch (intent.getAction()) {
    case BluetoothAdapter.ACTION_STATE_CHANGED:
     int blueState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, 0);
     switch (blueState) {
      case BluetoothAdapter.STATE_TURNING_ON:
       Log.e("TAG", "TURNING_ON");
       break;
      case BluetoothAdapter.STATE_ON:
       bluetoothStatus="on";
       Log.e("TAG", "STATE_ON");
       break;
      case BluetoothAdapter.STATE_TURNING_OFF:
       Log.e("TAG", "STATE_TURNING_OFF");
       break;
      case BluetoothAdapter.STATE_OFF:
       bluetoothStatus="off";
       Log.e("TAG", "STATE_OFF");
       break;
     }
     break;
   }
  }
};

:完整实例代码点击此处本站下载

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android资源操作技巧汇总》及《Android控件用法总结

希望本文所述对大家Android程序设计有所帮助。

相关文章

  • Android实现信号强度监听的方法

    Android实现信号强度监听的方法

    这篇文章主要介绍了Android实现信号强度监听的方法,是Android手机中很常见的一个实用功能,需要的朋友可以参考下
    2014-08-08
  • Bitmap引起的OOM问题

    Bitmap引起的OOM问题

    这篇文章主要介绍了Bitmap引起的OOM问题,为什么会引起,以及避免引起的方法,文中有详细的代码示例,有需要的朋友可以参考下
    2023-04-04
  • Android GridView实现横向列表水平滚动

    Android GridView实现横向列表水平滚动

    这篇文章主要为大家详细介绍了Android GridView实现横向列表水平滚动,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Android通过HttpURLConnection和HttpClient接口实现网络编程

    Android通过HttpURLConnection和HttpClient接口实现网络编程

    这篇文章主要介绍了Android通过HttpURLConnection和HttpClient接口实现网络编程的相关资料,需要的朋友可以参考下
    2015-02-02
  • android 加载本地联系人实现方法

    android 加载本地联系人实现方法

    在android开发过程中,有些功能需要访问本地联系人列表,本人搜集整理了一番,拿出来和大家分享一下,希望可以帮助你们
    2012-12-12
  • Android添加水印的正确方法 只要三步!

    Android添加水印的正确方法 只要三步!

    这篇文章主要介绍了Android添加水印的正确方法,仅仅三步轻松实现为图片添加水印功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Android Studio 3.0 Gradle 配置变更

    Android Studio 3.0 Gradle 配置变更

    这篇文章主要介绍了Android Studio 3.0 Gradle 配置变更的相关知识,即多渠道打包变更和更改打包命名及路径的代码,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-03-03
  • Android编程之杀毒的实现原理及具体实例

    Android编程之杀毒的实现原理及具体实例

    这篇文章主要介绍了Android编程之杀毒的实现原理及具体实例,结合实例形式分析了Android杀毒功能的原理与简单实现技巧,需要的朋友可以参考下
    2015-12-12
  • 更新至Android Studio4.1后发现as打不开的解决方法(原因分析)

    更新至Android Studio4.1后发现as打不开的解决方法(原因分析)

    这篇文章主要介绍了更新至Android Studio4.1后发现as打不开的解决方案,本文给大家分享问题所在原因给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • android自定义对话框实例代码

    android自定义对话框实例代码

    大家好,本篇文章主要讲的是android自定义对话框实例代码,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12

最新评论