listen-安卓设备如何监听蓝牙的连接状态

问题描述

安卓设备如何监听蓝牙的连接状态
如题,在我的APP中,成功将手机连接上了一个蓝牙串口,现在想监听它们之间的连接状态。在网上找到的方式都是用BroadcastReceiver来监听蓝牙状态改变的广播,于是我实现了这种方式,代码部分如下:
    private void registerBoradcastReceiver() {
    IntentFilter stateChangeFilter = new IntentFilter(
            BluetoothAdapter.ACTION_STATE_CHANGED);
    IntentFilter connectedFilter = new IntentFilter(
            BluetoothDevice.ACTION_ACL_CONNECTED);
    IntentFilter disConnectedFilter = new IntentFilter(
            BluetoothDevice.ACTION_ACL_DISCONNECTED);
    registerReceiver(stateChangeReceiver, stateChangeFilter);
    registerReceiver(stateChangeReceiver, connectedFilter);
    registerReceiver(stateChangeReceiver, disConnectedFilter);
}

    private BroadcastReceiver stateChangeReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (BluetoothDevice.ACTION_ACL_CONNECTED == action) {
            showchange(action);
        }
        if (BluetoothDevice.ACTION_ACL_DISCONNECTED == action) {
            showchange(action);
        }
        if (BluetoothAdapter.ACTION_STATE_CHANGED == action) {
            showchange(action);
        }
    }
};

但是调试的时候并没有监听到任何的状态变化,求指教。

解决方案

将IntentFilter connectedFilter = new IntentFilter(
BluetoothDevice.ACTION_ACL_CONNECTED);
换成IntentFilter connectedFilter = new IntentFilter(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED);再试下
同时,注意加上蓝牙的相关权限

解决方案二:

这个太难了,无法回答你

解决方案三:

你试试把==action换成equals(action)

解决方案四:

楼主,太谢谢你了,帮我解决了一个问题!

时间: 2024-12-22 15:49:58

listen-安卓设备如何监听蓝牙的连接状态的相关文章

Android中监听判断网络连接状态的方法_Android

在无网或网速差的状态下,没必要去连接服务器. 你可以使用 ConnectivityManager 来判断是否连到网络,以及网络类型. 判断是否有网络连接 下面的代码用ConnectivityManager查询是活动网络连接判断是否有Internet连接. 复制代码 代码如下: ConnectivityManager cm =         (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);  

java se-java怎样监听蓝牙或者wifi连接?

问题描述 java怎样监听蓝牙或者wifi连接? 当一个嵌入式设备有连接过来的时候,. 使用java怎样监听蓝牙或者wifi连接? 求思路 解决方案 不美溜进来里咯考虑考虑李俊咯 解决方案二: http://www.cnblogs.com/javawebsoa/archive/2013/05/06/3063630.html 一般来说不同的设备都有不同的接口的,上面是android设备上wifi

点击按钮-安卓开发 按钮监听 拍照功能

问题描述 安卓开发 按钮监听 拍照功能 目前在学习安卓,想要实现点击按钮进行拍照,请问怎么实现 我是安卓初学者,麻烦能把详细代码提供给我,感激不尽 解决方案 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE): startActivityForResult(intent)

安卓的textview监听问题

问题描述 安卓的textview监听问题 我在界面上有一个textview,我想点击这个textview然后转到另外一个activity上面,但是我知道button怎样写,但是换成textview就不会了,请问如何写啊 private Button button; //private TextView textview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInsta

flash-as3对安卓编程怎么监听按钮是否被按下

问题描述 as3对安卓编程怎么监听按钮是否被按下 as3在安卓平台上编程时怎么编写按钮的监听器,判断按钮被按下的语句是什么 解决方案 onTouchEvent

系统中实时监听android的网络状态并且给予处理

问题描述 系统中实时监听android的网络状态并且给予处理 比如 在一个android小程序中 发现网络断了就给予页面跳转 解决方案 分几个步骤 1.监测手机上的网络连接状态 2.及时连接网络不一定可达,尝试连接服务器,如果通,则网路通. 解决方案二: 周期性检测网络连接>. 解决方案三: /** * 网络请求失败处理 */ public void requestNetDataFail(ErrorInfo errorInfo) { switch (errorInfo.errorCode) {

Android 监听WiFi的开关状态实现代码

Android 监听WiFi的开关状态实现代码 WifiSwitch_Presenter 源码: package com.yiba.wifi.sdk.lib.presenter; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net

Android 监听手机GPS打开状态实现代码

Android 监听手机GPS打开状态实现代码 GPS_Presenter package com.yiba.core; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.location.LocationManager; /** *

通信-求大神指导,实时获取蓝牙断开连接状态的方法?

问题描述 求大神指导,实时获取蓝牙断开连接状态的方法? 做一个和4.0蓝牙设备通信的安卓app. 要求能实时的显示蓝牙的状态,连接时显示连接好做. 但是测试的时候发现,主动关闭蓝牙设备后,手机端大概要10s左右的时间才会收到断开连接的回调 而且时间不固定,不确定是什么机制在不定时的判断连接是否断开. 做蓝牙的哥们说,蓝牙有一个监督超时时间可以设置,但我翻文档发现没有对应的api. 现在总是不能实时的获取断开状态.很苦恼,求大神指导. 解决方案 可以参照这篇文章:http://blog.csdn.