本程序能实时监听并检测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();            }        });

③监听蓝牙连接状态

<uses-permission android:name="android.permission.BLUETOOTH"/><uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
//注册蓝牙监听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;            }        }    };

更多相关文章

  1. Android(安卓)SwipeLayout实现界面滑动布局
  2. android状态栏颜色与沉浸式适配
  3. Android(安卓)如何监听返回键,弹出一个退出对话框
  4. android fragment+ FragmentTabHost+viewpager 切换状态不保存的
  5. (笔记)Android的OnGestureListener中onFling()的使用注意
  6. 9.Swift UIImagePickerController选取图片
  7. Android(安卓)添加手势操作
  8. android系统修改状态栏背景色以及文字颜色
  9. Android第三方登录详解2

随机推荐

  1. 百度大佬10分钟教会你是前端bug还是后端b
  2. 没有预热,不叫高并发,叫并发高
  3. Linux生产环境上,最常用的一套“AWK“技巧
  4. C语言学习 4.0
  5. 聊聊幂等
  6. 2021.2.5
  7. 实战Spring Boot 2.0系列(一) - 使用Grad
  8. 用C语言实现三子棋(下)
  9. 简单的面试题目,大跌眼镜的结果(JAVA)
  10. 这样的高可用,我不要!