日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蓝牙开关的监听

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝牙开关的监听 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

藍牙權限?<uses-permission android:name="android.permission.BLUETOOTH" />

1、監聽手機本身藍牙狀態的廣播

手機藍牙開啟關閉時發送

action:?BluetoothAdapter.ACTION_STATE_CHANGED

if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,BluetoothAdapter.ERROR);switch (state) {case BluetoothAdapter.STATE_OFF:Log.d("aaa", "STATE_OFF 手機藍牙關閉");break;case BluetoothAdapter.STATE_TURNING_OFF: Log.d("aaa", "STATE_TURNING_OFF 手機藍牙正在關閉");break;case BluetoothAdapter.STATE_ON:Log.d("aaa", "STATE_ON 手機藍牙開啟");break;case BluetoothAdapter.STATE_TURNING_ON:Log.d("aaa", "STATE_TURNING_ON 手機藍牙正在開啟");break;} }

2、監聽藍牙設備配對狀態的廣播

藍牙設備配對和解除配對時發送

action:?BluetoothDevice.ACTION_BOND_STATE_CHANGED

if (action.equals(BluetoothDevice.ACTION_BOND_STATE_CHANGED)) {BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);String name = device.getName();Log.d("aaa", "device name: " + name);int state = intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, -1);switch (state) {case BluetoothDevice.BOND_NONE:Log.d("aaa", "BOND_NONE 刪除配對");break;case BluetoothDevice.BOND_BONDING:Log.d("aaa", "BOND_BONDING 正在配對");break;case BluetoothDevice.BOND_BONDED:Log.d("aaa", "BOND_BONDED 配對成功");break;} }

3、監聽藍牙設備連接和連接斷開的廣播

藍牙設備連接上和斷開連接時發送, 這兩個監聽的是底層的連接狀態

action:?BluetoothDevice.ACTION_ACL_CONNECTED ??BluetoothDevice.ACTION_ACL_DISCONNECTED

if (action.equals(BluetoothDevice.ACTION_ACL_CONNECTED)) {BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);Log.d("aaa", device.getName() + " ACTION_ACL_CONNECTED"); } else if (action.equals(BluetoothDevice.ACTION_ACL_DISCONNECTED)) {BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);Log.d("aaa", device.getName() + " ACTION_ACL_DISCONNECTED"); }

BluetoothClass 可以獲取藍牙設備的類型

如果想獲取當前已連接上的所有藍牙設備,可以在這兩個廣播中手動維護一個連接設備的列表。

像下面這樣:

/*** 記錄當前正在連接的所有藍牙輸入設備*/ public List<BluetoothDevice> connectedBluetoothDevices = new ArrayList<BluetoothDevice>();if (intent.getAction().equals(BluetoothDevice.ACTION_ACL_CONNECTED)) {BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);if (isInputDevice(device)) {List<BluetoothDevice> connectedBluetoothDevices = ((MyApplication) getApplication()).connectedBluetoothDevices;if (!connectedBluetoothDevices.contains(device)) {connectedBluetoothDevices.add(device);}} } else if (intent.getAction().equals(BluetoothDevice.ACTION_ACL_DISCONNECTED)) {BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);if (isInputDevice(device)) {List<BluetoothDevice> connectedBluetoothDevices = ((MyApplication) getApplication()).connectedBluetoothDevices;connectedBluetoothDevices.remove(device);} }/*** 判斷藍牙設備是否是輸入設備,這里認為 PERIPHERAL是輸入設備*/ private boolean isInputDevice(BluetoothDevice device) {int deviceMajorClass = device.getBluetoothClass().getMajorDeviceClass();if (deviceMajorClass == BluetoothClass.Device.Major.PERIPHERAL) {return true;}return false; } 發一下我寫的 private void registerBoradcastReceiver() { //注冊監聽 getApplication().registerReceiver(stateChangeReceiver, makeFilter()); } private IntentFilter makeFilter() { IntentFilter filter = new IntentFilter(); filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); return filter; } private BroadcastReceiver stateChangeReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Log.d("藍牙", "" + intent.getAction()); switch (intent.getAction()) { case BluetoothAdapter.ACTION_STATE_CHANGED: int blueState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, 0); Log.d("藍牙", "藍牙" + blueState); switch (blueState) { case BluetoothAdapter.STATE_TURNING_ON: Log.d("STATE_TURNING_ON", "藍牙"); break; case BluetoothAdapter.STATE_ON: Log.d("STATE_ON", "藍牙"); break; case BluetoothAdapter.STATE_TURNING_OFF: Log.d("STATE_TURNING_OFF", "藍牙"); //藍牙開關手動關閉 會收到這條廣播 break; case BluetoothAdapter.STATE_OFF: Log.d("STATE_OFF", "藍牙"); break; } break; } } };

總結

以上是生活随笔為你收集整理的蓝牙开关的监听的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产尤物视频 | 日韩在线视频你懂的 | 奇米777视频| 在线a级| 草草影院最新网址 | 美女av网站| 日本啊啊视频 | 一级做a爱视频 | 裸体一区二区 | 特级毛片www| 国产freexxxx性播放麻豆 | 免费不卡视频 | 性色在线视频 | 热久久伊人 | 99在线视频免费观看 | 天堂网va| 欧美日日日 | 清纯唯美第一页 | 91精品国产色综合久久不卡98 | 亚洲一区二区成人 | 少妇人妻丰满做爰xxx | 一级黄大片 | 成人免费观看视频 | 男女操操操 | 少妇毛片一区二区三区粉嫩av | 日韩综合色 | 熟女少妇精品一区二区 | av天堂一区二区 | 欧美大片91 | 老女人人体欣赏a√s | 天天精品视频 | 爱福利视频广场 | 欧美性猛交xxxx乱大交hd | 不用播放器av | 麻豆911| 老熟女高潮喷水了 | 伊人三区| 欧美美女视频 | 91文字幕巨乱亚洲香蕉 | 性色欲网站人妻丰满中文久久不卡 | 日日夜夜影院 | 国产一区二区啪啪啪 | 丰满少妇aaaaaa爰片毛片 | 小毛片网站 | 最近中文字幕在线mv视频在线 | 免费一级特黄毛大片 | 久久久久久久久久久久久久久久久久久 | 美女试爆场恐怖电影在线观看 | 色综合久久久久综合体桃花网 | 亚洲一区二区三区四区电影 | 色人人 | 国产最新在线视频 | 国产精品欧美日韩 | 男女无套免费视频网站动漫 | 国产成人免费片在线观看 | 性爱视频日本 | 韩国av一区二区 | 日韩色一区 | 美脚の诱脚舐め脚视频播放 | 久久av一区二区三区漫画 | 伊人久色 | 欧美成人一区在线 | 鲍鱼av在线| 好吊色视频一区二区三区 | 91成人免费在线视频 | 91视频免费观看网站 | 欧美精品二区三区四区免费看视频 | 小明看国产 | 欧美日韩国产三级 | 天堂8中文在线 | 亚洲免费网站 | 日韩av专区片 | 女人十八岁毛片 | 日本啪啪网站 | 欧美97| 一级黄色免费大片 | 国产情趣视频 | 黄色欧美在线 | 密桃成熟时在线观看 | 四虎av在线| 国产精品日韩一区 | 国产a国产 | 亚洲精品91天天久久人人 | 久久影院国产 | 色哟哟国产精品色哟哟 | 国内免费毛片 | 日产欧产va高清 | av片子在线观看 | 秋霞电影一区二区 | 国精品人妻无码一区二区三区喝尿 | 国产激情无套内精对白视频 | 午夜寂寞福利 | 99国产精品久久久久久久成人热 | 亚洲视频一区在线观看 | 国产偷人爽久久久久久老妇app | 多男调教一女折磨高潮高h 国内毛片毛片毛片毛片毛片 | 高潮毛片又色又爽免费 | 全部免费毛片 | 色呦呦视频在线观看 |