Android 如何实现动态监听连接手机的蓝牙设备是否因为某些原因断开(比如距离过远)

Android 如何实现动态监听连接手机的蓝牙设备是否因为某些原因断开(比如距离过远),此时通知用户蓝牙设备已经断开连接

2个回答

蓝牙2.0可通过适配器查询连接状态,4.0提供有状态回调,也很方便。

u014115673
ouer1994 ????能不能说的详细一点
接近 4 年之前 回复

蓝牙适配器可以获取到蓝牙的连接状态,可以一直监听,

u014115673
ouer1994 ????BluetoothAdapter 怎么获取蓝牙的连接状态啊
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android 如何实现动态监听连接手机的蓝牙设备是否因为某些原因断开
Android蓝牙API提供的方法中,isconnected(),基本做不到实时检测连接状态,其他的方法,等到的也是设备绑定的状态,并不是我想要的。本来通过写或读数据是可以判断连接状态的,但是,自己起线程轮询的收发数据过去,判断读写异常时可以实现,但是会影响用户发送的数据,业务要求不允许。网络连接中有NetSocket.sendUrgentData(0)这个方法可以做到,偏偏蓝牙又没有,我该怎么做,求指点!
android监听蓝牙设备的连接状态
通过系统广播监听蓝牙设备的连接状态,当蓝牙搜索发现设备时提示对应的蓝牙设备已发现,当蓝牙设备连接或断开显示蓝牙设备连接或断开。
android 蓝牙设备监听广播
android 蓝牙设备监听广播 https://www.cnblogs.com/lesliefang/p/5445684.html
android 手机与蓝牙设备的通讯
1.首先创建个Activity来搜索蓝牙低耗设备 package com.example.xxx; import android.app.Activity; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.Bluetoo
Android NDK——监听USB的连接与断开
Mainctivity:主界面,功能是把监听到的USB事件用Toast显示出来 package com.wind.usb;import com.wind.usb.UsbManager.OnUsbListener; import com.wind.usb.UsbManager.UsbEvent;import android.app.Activity; import android.os.Bundle;
Openfire连接断开的原因
3.1 Openfire 3.1.1 多端登陆 Openfire如果同一帐号,在多个设备登陆会出现这种情况。 3.1.2 超时 默认的超时时间为200S,如果收到用户发来的心跳信息或其他数据,关闭连接。 3.1.3 超限 单个房间的人数,超出了即时通讯系统的正常运行的限度,Openfire性能压测报告表明在1000用户时无论是加入房间还是接收数据均正常
如何实现连接的断开
查询错误:rn[sybase][ODBC Driver]Watcom Sqlrnrejected connection:too many connections to database.rn我用什么方法断开以前的连接。rn急,谢谢!!
如何判断连接是否断开?
用API写的异步Socket,当C、S建立连接后,如果客户端或服务器端突然断开,另外一端立即如何知道?
如何计算出两个蓝牙设备的距离
如何计算出两个蓝牙设备的距离,我想实现A、B两设备连接配对上后,程序可实时获得两设备间的距离和相对A或B的角度。rnrn
Android监听距离传感器
//在activity或service等创建时定义注册监听器 private SensorManager mSensorMgr; private Sensor mGnPSensor;//获取传感器管理类及距离传感器 mSensorMgr = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); mGnPSensor = m
Android模拟器断开原因及快速连接方法
在使用Android Studio、Eclipse,或者React Native开发Android应用时,经常会遇到no connected devices的提示,即Android模拟器经常断开的问题,明明我刚才还连接着的,咋又突然断开了呢?软件进程冲突导致打开windows任务管理器,查看是否有kadb进程。 你工作肯定一心二用,一边用酷狗听歌,一边敲代码。 因为酷狗的Kadb进程跟And
Android 蓝牙设备与手机之间的数据传输
工作时间不是很长,如以下观点中出现不对的地方欢迎指正 目前在Android领域蓝牙有2.0和4.0,这篇文章只写一下2.0的  以后我会继续补充4.0的 2.0和4.0的区别还是很大的,首先说4.0的耗电量就是很低 当我们准备对接一个设备的时候  首先是需要拿到该设备的UUID 这个uuid非常好拿到,目前Android市场有很多蓝牙读写器(BLE读写器)随便一搜很多的,连接上设备,
如何监听wifi 断开或者连接事件
当笔记本的wifi断开或连接时,我要去执行某些操作,应该怎么写。这时触发什么系统事件呢,可以供我来监听?rn(我现在不想用定时任务去不停的获取当前连接的wifi连接状态)rn rn
手机蓝牙设备
苹果手机之间蓝牙是搜索不到的,这个可以将手机作为设备,被中央端搜索,适合两个手机之间蓝牙传输。
Android实现蓝牙设备串口连接demo
1.适用于蓝牙模块的串口连接 2.定时发送字符命令,获得蓝牙模块响应数据 3.发送命令,得到蓝牙数据都为常见16进制 改自于Android自带demo,测试通过
Android和iOS如何连接指定的蓝牙设备
在BLE4.0时代,蓝牙得到了很广泛的应用,为了满足一些指定场景,需要手机端直接去连接指定的蓝牙设备,这里有个巧妙的方法可以供大家使用,目前在很多共享产品就是这样的方案进行的;在Android设备上,连接指定的设备就是要知道设备的deviceID,也就是MAC地址,如何知道呢,一般就是将指定的地址自己广播出来,这样,当你的已知MAC地址进行对比,就知道要连接那个设备了;直接连接就是;在IOS设备,...
android获取附近蓝牙设备并计算距离
需要用到本地蓝牙适配器 // 获取本地蓝牙适配器 mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 判断是否支持蓝牙,并确认打开该功能。 // 判断手机是否支持蓝牙 if (mBluetoothAdapter == null) { Toast.makeText(this, "设备不支持蓝
Android 主动连接指定的蓝牙设备
      网上查到的资料都是基本默认连接好的蓝牙设备通讯, 但如果app在设置时已经配置好将要连接的蓝牙设备参数, 使用时要自动连接这个蓝牙设备又如何实现 ?       下面给出代码,让有需要的同学作参考: /*** * 向指定的蓝牙设备发送数据 * @param pvsMac * @param pvsContent * @throws IOExc...
android蓝牙开发 蓝牙设备的查找和连接
Android对于蓝牙开发从2.0版本的sdk才开始支持,而且模拟器不支持,测试至少需要两部手机,所以制约了很多技术人员的开发。 1. 首先,要操作蓝牙,先要在AndroidManifest.xml里加入权限 // 管理蓝牙设备的权限 // 使用蓝牙设备的权限 2.打开蓝牙 获得蓝牙适配器(android.bluetooth.BluetoothAdapte
蓝牙设备的连接
蓝牙(BlueTooth)是一种无线技术标准,可实现固定设备,移动设备和楼宇个人域网之间的短距离数据通信,蓝牙设备最多可以同时和7个其他蓝牙设备进行连接,进行通信 蓝牙的功能: 1.扫描其他蓝牙设备 2.为可配对的蓝牙设备查询蓝牙适配器 3.建立RFCOMM通道 4.通过服务搜索来连接其他设备 5.与其他设备进行数据传输 6.管理多个连接 蓝牙建立连接必须要求: 1.打开蓝牙 2
Windows蓝牙设备自动断开问题
一般是由于节约电源导致 1.设备管理器中找到蓝牙设备,右击属性,在弹出的对话框中选择电源管理标签页 2.取消勾选“允许计算就关闭此设备以节约电源”
如何判断ServerSocket与ClientSocket的连接是否断开?
如题。我想在服务端定时判断相连的客户端是否已经断开。rn但是在客户端clientsocket.close或者程序退出后,用serversocket的几个事件好象都不能触发。
Android监听手机返回键
Android在做项目时,有时候点击返回按钮没反应(有冲突),那就需要我们监听返回键。重写onKeyDown()方法: // 监听手机返回键 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { PhotoShow.this.fin
android监听手机解锁
手机解锁,系统会发送广播,只要监听该广播就可以做想做的事情了,非常简单。   配置文件中注册: <receiver android:name="com.example.hidetest.screen.ScreenReceiver">             <intent-filter>                  <action android:name...
Android 监听手机来电
这里我只写用着的方案 首先是权限问题: <!--读取电话的状态信息的权限--> <!--<uses-permission android:name="android.permission.READ_PHONE_STATE" />--> <!--处理拨出电话,允许程序监视,修改或放弃播出电话--> <u...
socket 连接后,如何判断是否断开断开?
socket 连接后,如何判断是否断开断开?rnrnsocket连接后,如果服务器端,或者客户端一方,异常退出,另一方是否可以立刻知道?rnrn不用那种互相发信号的心跳判断的方法,有没有更好的方法,因为开发的时候有可能几个人各执一端,不好协调。rnrn 期待比较简洁实用的方法。
System.Net.Sockets 如何自动断开监听?
[code=vb]Imports System.Net.SocketsrnImports System.NetrnImports System.TextrnImports System.ThreadingrnrnPublic Class Form1rn '定义两个窗体变量rn Dim s As Socket = Nothingrn Dim t As Threadrnrn '新建一个过程,用于处理接收到的Socket数据包rn Public Sub WaitData()rn s = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) '使用TCP协议rn Dim localEndPoint As New IPEndPoint(IPAddress.Parse("127.0.0.1"), 1024) '指定IP和Portrn s.Bind(localEndPoint) '绑定到该Socketrn s.Listen(100) '侦听,最多接受100个连接rn While (True)rn Dim bytes(1024) As Byte '用来存储接收到的字节rn Dim ss As Socket = s.Accept() '若接收到,则创建一个新的Socket与之连接rn ss.Receive(bytes) '接收数据,若用ss.send(Byte()),则发送数据rn ListBox1.Items.Insert(0, Encoding.Unicode.GetString(bytes)) '将其插入到列表框的第一项之前rn '若使用Encoding.ASCII.GetString(bytes),则接收到的中文字符不能正常显示rn End Whilern End Subrnrn Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Clickrn t = New Thread(AddressOf WaitData) '建立新的线程rn t.Start() '启动线程rn Button1.Enabled = False '按钮不可用,避免另启线程rnrn End Subrnrn Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosingrn Tryrn s.Close()rn t.Abort()rn Catchrn End Tryrn End Subrnrn Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Loadrn System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = Falsern End Subrnrn Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Clickrn '在BtnStop的click事件中, 加入如下代码rn Tryrn s.Close() '关闭Socketrn t.Abort() '中止线程rn Catchrn Finallyrn Button1.Enabled = True '启用BtnStartrn End Tryrn End SubrnEnd Class[/code]rnrn客户端只要发来一次信息,查看就会发现程序多一条监听,但客户端程序发送完毕后就退出了。如何让这个连接也断开呢?rnrnTCP 127.0.0.1:52108 127.0.0.1:1024 FIN_WAIT_2rn TCP 127.0.0.1:52123 127.0.0.1:1024 FIN_WAIT_2rn TCP 127.0.0.1:52134 127.0.0.1:1024 FIN_WAIT_2rn TCP 127.0.0.1:52147 127.0.0.1:1024 FIN_WAIT_2rnrn4个客户端过来 就有4个在这~
如何查询蓝牙设备连接状态
在我的电脑上安装了蓝牙USB,如果要在软件中读取蓝牙设备(如PDA)的信息,我是先用驱动程序带的软件先找到PDA设备,然后查找PDA提供的服务,再连接该服务到COM4虚拟串口,连接好后再运行我的程序去读该串口,有没有更办法直接在我的程序里连接PDA?或如何查询电脑有没有连接上PDA?因为不论有没有连接上,打开COM4都会返回有效的文件句柄的。rn有没有人指点一下?
实现本地连接的断开与连接
用socket编程实现了本机上的网络通信,如用在两台电脑上遇到了需要启动本地连接,这该如何实现,如有代码更好。谢了。。
iOS 蓝牙设备与手机的距离计算
1、手机通过蓝牙连接外围设备,通过信号强度转换为距离 - (CGFloat)getDistance:(NSNumber *)RSSI { float power = (labs([RSSI integerValue]) - 59) / (10 * 2.0); return powf(10.0f, power); }
实现手机监听的代码
实现手机监听的demo,对初学者很有用的哦
Android监听USB连接/断开,充电/未充电
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_paren...
Android 手机距离感知器 代码实现
完美实现 感应距离让手机自动息屏 防止用户误触界面 private void initSensor() { mManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); // 获取系统服务POWER_SERVICE,返回一个PowerManager对象 localP...
Android手机屏幕到手机间的距离
Android手机屏幕到手机间的距离Android手机屏幕到手机间的距离 主要步骤 今天时间紧, 就先说个思路, 如果有需要,请在评论中声明,后期如果有需要,我将源码贴出.主要步骤 首先调用手机机摄像头 然后利用Android自带的人脸识别的类,测量出两眼间的距离 最后根据常量值的比例,计算出手机到人脸的距离 欢迎品论
如何断开 HttpURLConnection 的连接?
我使用 AsyncTask来连接一个 URLPath:rnrn @Overridern public void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.left_list);rn Button btn = (Button)findViewById(resid);rn btn.setOnClickListener(new OnClickListener() rn @Overridern public void onClick(View v) rn //how to stop connectrn rn );rn new Connecting().execute();rn rn class Connecting extends AsyncTask rn @Overridern protected void onPreExecute() rn super.onPreExecute();rn //do somethingrn rn @Overridern protected String doInBackground(String... aurl) rn try rn URL url = new URL(URLPath);rn connection = (HttpURLConnection)url.openConnection();rn connection.setConnectTimeout(30000);rn connection.setReadTimeout(30000);rn connection.setDoInput(true);rn connection.setUseCaches(false);rn connection.connect();rn is = connection.getInputStream();rn rn catch (Exception e) rn e.printStackTrace();rn rn return null;rn rn @Overridern protected void onPostExecute(String unused) rn super.onPostExecute(unused);rn //access InputStream isrn rn rnrn连接期间可能会占用很长时间。rn在连接的时候我想设置 点击 Bbutton 按钮来终止 connection 的连接。rn如何在 setOnClickListener 方法中设置呢?rn
如何断开与FTP的连接?
c#实现的FTP客户端类,当下载好数据之后,虽然我发送了“QUIT”命令,并且还关闭了Socket,可是为什么ftp服务器上还显示我还连在ftp上,当我连接次数多的话,就会出现too many user connected......,除非我关闭了我的应用程序,才能断开连接。。。请大家帮帮我,,,谢谢!
某些手机搜索不到蓝牙外设的原因
发射频偏造成的, 需要修改晶振的匹配电容.
Android中如何监听手机电话状态
问题描述:当应用中需要对来电这一状态进行处理时(例如来电时显示来电话号码归属地等),就需要对电话状态进行监听。 解决步骤:1.对电话状态的监听最好是放在服务中,因为有一种服务的启动方式可以不依赖于activity的生命周期,即使activity被销毁,服务依然在后台运行。因此创建一个Myservice extends Service;                   2.创建一个类MyPh
如何断开与服务器的连接?
在服务器A中用SQL语句联接服务器B中的数据库GLXT,如下:rnexec sp_addlinkedserver 'GLXT','','SQLOLEDB','10.10.7.92'rnexec sp_addlinkedsrvlogin 'GLXT','false',null,'sa','123'rnrnrn成功后,如何用SQL断开啊?
如何断开与网络的连接
我用C#写了一个下载文件的练习,发现下载像http://attach.ikunlun.net/000/013/677/565.rarrn这样有绝对URL的文件时没有问题,但是下载像rnhttp://count.crsky.com/view_down.asp?downd_id=8&downd=0&ID=23236&down=yesrn这样的动态URL的文件时下载完毕后调用request.abort()似乎不能正常取消请求,在防火墙里仍然能看到程序连接,那位能帮忙看下应该如何改正?rnrn代码如下(写得有点乱):rnbyte[] bydata = new byte[512];rnint nreadsize = 0;rnHttpWebRequest request = (HttpWebRequest)WebRequest.Create(URLBOX.Text);rnrnlong filesize = request.GetResponse().ContentLength;rnrnstring filename = request.Address.Segments[request.Address.Segments.Length - 1];rnrnstring absPath = request.Address.AbsoluteUri;rnStream sr = request.GetResponse().GetResponseStream();rnFileStream fs = new FileStream(@"c:\" + filename, FileMode.Create);rnrnnreadsize = sr.Read(bydata, 0, 512);rnwhile (nreadsize > 0)rnrn fs.Write(bydata, 0, nreadsize);rn nreadsize = sr.Read(bydata, 0, 512);rn rnsr.Close();rnfs.Close();rnrequest.Abort();
如何断开socket的连接
利用udp进行bind的socket,如何能够断开连接?
如何断开与SqlServer的连接
我的问题:rn 建立数据库 test;rn 启动我的程序,通过Ado与 test连接;rn 在程序中使 AdoConnection 的connected属性为 fasle,并使其连接到系统库 master,然后执行语句删除 test 库,系统出错,告诉我 test 库正在使用。rn 请问我的方法是否与 test 库真正断开,为什么仍在使用?如何使其处于未使用状态?
如何去掉“断开的连接”??
我的系统是win2000 在机器的右下角有个打叉的网络连接 不知道如何去掉啊
手机移动网络是否连接
public static boolean isMobileConnected(Context context) { if (context != null)  {  ConnectivityManager mConnectivityManager = (ConnectivityManager)context.getSystemService("connectivity");  Netw
socket如何判断状态,比如网络是否断开?
我是用winsocket api函数来写,socket 怎么判断状态,比如网络是否断开,是否接受,发送异常。rn用select模型吗?select 返回0 代表超时,这个我知道,我想知道的是,怎么取得select 的返回的各种错误码,和含义,这样我才能确定是否网络断开了。rn
android如何实现监听服务
我在应用程序中需要实现一个在本地数据库中自动删除过时的记录,并且在推出应用程序后也具有监听功能。求问实现过程及方法,能详细点更好!
Android scrollView如何实现监听
打开scrollView的源代码发现scrollView,并没有和其他控件类型的setxxListener的监听。但是可以发现一个回调方法 /** * This is called in response to an internal scroll in this view (i.e., the * view scrolled its own contents). This is typ
如何监听手机通话
首先在服务里进行监听,不需要用广播监听电话状态,用一个电话管理者就行了package com.example.phonelistener.service; import java.io.File; import java.io.IOException; import android.app.Service; import android.content.Context; import andr...
Android Wi-Fi 连接/断开时间
1 连接時間 sniffer连接过程;在加密模式为open的情况下,比较清晰;带有加密方式的4次握手之后无法查看了 正常Android Wi-Fi的连接时间是1.3s , 从Android 发送probe request开始计算,到ARP包的时间是1.3s。 2 切断時間 sniffer断开过程 从图中可以看出,断开的方式是AP侧选择断开电
android studio 断开与SVN的连接
在android studio中如何使用SVN,我们已经在以前的一篇文章中介绍过了,具体详细看《android studio配置SVN》 ,在本篇博客中,我们来解决一个问题:如何断开SVN的连接。在使用SVN过程中,我们会发现当我们第一次share到subVersion的时候,下次就无法重新share了,也无法断开连接,就算我们将工程目录下的.svn目录删除它还是会无法重新share到SVN,其实
相关热词 基于c#波形控件 c# 十进制转十六进制 对文件aes加密vc# c#读取栈中所有的值 c# rsa256加密 好 学c# 还是c++ c# 和java的差距 c# curl网络框架 c# https证书请求 c# 中崎
立即提问