蓝牙鼠标卡顿严重连接使用过程中发现严重问题,有没有人帮我看一下

unfortunately, I have some problems with android's bluetooth. For my test environment I use a Nexus 4 with Android 4.4.2.
I have a Java Application on my PC, which uses bluecove in order to make a SPP connection as client. The programme is looking for a special service name and connects with my android phone. Afterwards it sends 72 bytes to my android phone and waits for an answer. When getting that answer the programme sleeps for 3 seconds and than starts again.
On my android phone I have an application with background bluetooth listener which starts at boot. This application is based on BluetoothChat sample demo. When receiving bluetooth data I check incoming data and send back an answer.
All that is working fine. But after 489 bluetooth connections the android app fails with following error snippet while PC-java-app is going on:
getBluetoothService() called with no BluetoothManagerCallback
Shutting down VM
threadid=1: thread exiting with uncaught exception (group=0x41b34ba8)
FATAL EXCEPTION: main
Process: de.tum.lme.diamantum:remote_blue, PID: 21567
java.lang.NullPointerException: FileDescriptor must not be null
at android.os.ParcelFileDescriptor.&init&(ParcelFileDescriptor.java:174)
at android.os.ParcelFileDescriptor$1.createFromParcel(ParcelFileDescriptor.java:905)
at android.os.ParcelFileDescriptor$1.createFromParcel(ParcelFileDescriptor.java:897)
at android.bluetooth.IBluetooth$Stub$Proxy.createSocketChannel(IBluetooth.java:1355)
at android.bluetooth.BluetoothSocket.bindListen(BluetoothSocket.java:349)
at android.bluetooth.BluetoothAdapter.createNewRfcommSocketAndRecord(BluetoothAdapter.java:1055)
at android.bluetooth.BluetoothAdapter.listenUsingRfcommWithServiceRecord(BluetoothAdapter.java:976)
at com.test.btconn.BluetoothHandling$AcceptThread.&init&(BluetoothHandling.java:449)
at com.test.btconn.BluetoothHandling.start(BluetoothHandling.java:216)
at com.test.btconn.BluetoothListenerService.setupBtSockets(BluetoothListenerService.java:330)
at com.test.btconn.BluetoothListenerService.manageBtState(BluetoothListenerService.java:249)
at com.test.btconn.BluetoothListenerService.setBtStateDisconnected(BluetoothListenerService.java:383)
at com.test.btconn.BluetoothListenerService.access$5(BluetoothListenerService.java:378)
at com.test.btconn.BluetoothListenerService$2.handleMessage(BluetoothListenerService.java:421)
So the app has a problem with the ParcelFileDescriptor, which is suddenly null. But why?
All the described above also happens when changing pause-time on PC-java-app, using various data sizes for transmitting and using different smartphones. When using reflection "listenUsingRfcommWithServiceRecord" the same happens after 505 transmissions. Also using wakelock changes nothing.
By the way, I got the same behaviour when using BluetoothChat sample.
So, has anybody a hint, what happens?
BluetoothServerSocket is closed after each connection and BluetoothSocket if bluetooth state is 3.
解决方案 The problem seems connected to the limit of file descriptors on your device. There is a report for that issue
During the creation of a Bluetooth socket a new fd is
are acquired from the system. It seems you are not closing your previous BT connections correctly so the number of used FDs steadily increases until you hit the limit.
To avoid this you will at least have to call close() on the BluetoothServerSocket you receive from the listenUsingRfcommWithServiceRecord() call after finishing the operations for it. You should also check if you are holding on to other resources connected to the BT connection and free them if possible.
As it was requested here is how to force the closing of the ParcelFileDescriptor of the BluetoothServerSocket. Beware: it may break things!
You will have to access the mSocket field of the BluetoothServerSocket to access the underlying BluetoothSocket. This BluetoothSocket holds the ParcelFileDescriptor in the field mPfd. And on that you can call close(). As both fields are not visible you will have to use Reflections:
public void closePFD(BluetoothServerSocket closeMe) throws AllKindOfExceptionsThatYouHaveToHandle
Field mSocketFld = closeMe.getClass().getDeclaredField("mSocket");
mSocketFld.setAccessible(true);
BluetoothSocket btsock = (BluetoothSocket)mSocketFld.get(closeMe);
Field mPfdFld = btsock.getClass().getDeclaredField("mPfd");
mPfdFld.setAccessible(true);
ParcelFileDescriptor pfd = (ParcelFileDescriptor)mPfdFld.get(btsock);
pfd.close();
This will close the BluetoothServerSocket. If you want to close just the BluetoothSocket from the BTServerSockets accept method you can leave out the part of getting mSocket as seen in .
本文地址: &
不幸的是,我有一些问题,Android的蓝牙。对于我的测试环境,我用一台Nexus 4与Android 4.4.2。
我有一个Java应用程序在我的电脑,这在为了使SPP连接,客户端使用bluecove上。该方案是在寻找一个特殊的服务名称,并与我的Android手机连接。此后,它发送72字节到我的Android手机,等待一个答案。当得到这个问题的答案方案睡3秒,比重新开始。
在我的Android手机,我有背景的蓝牙监听器,在开始启动的应用程序。这个申请是基于BluetoothChat样品演示。当接收蓝牙数据我检查接收数据并发送回一个答案。
所有这一切工作正常。但经过489蓝牙连接的Android应用程序失败,以下错误代码段,而PC-java的应用程序,是怎么回事:
getBluetoothService()调用时没有BluetoothManagerCallback
关闭虚拟机
主题ID = 1:螺纹未捕获异常退出(组= 0x41b34ba8)
致命异常:主要
工艺:de.tum.lme.diamantum:remote_blue,PID:21567
显示java.lang.NullPointerException:当前FileDescriptor不能为空
在android.os.ParcelFileDescriptor< INIT>(ParcelFileDescriptor.java:174)
在android.os.ParcelFileDescriptor $ 1.createFromParcel(ParcelFileDescriptor.java:905)
在android.os.ParcelFileDescriptor $ 1.createFromParcel(ParcelFileDescriptor.java:897)
在android.bluetooth.IBluetooth $存根$ Proxy.createSocketChannel(IBluetooth.java:1355)
在android.bluetooth.BluetoothSocket.bindListen(BluetoothSocket.java:349)
在android.bluetooth.BluetoothAdapter.createNewRfcommSocketAndRecord(BluetoothAdapter.java:1055)
在android.bluetooth.BluetoothAdapter.listenUsingRfcommWithServiceRecord(BluetoothAdapter.java:976)
在com.test.btconn.BluetoothHandling $ AcceptThread< INIT>(BluetoothHandling.java:449)
在com.test.btconn.BluetoothHandling.start(BluetoothHandling.java:216)
在com.test.btconn.BluetoothListenerService.setupBtSockets(BluetoothListenerService.java:330)
在com.test.btconn.BluetoothListenerService.manageBtState(BluetoothListenerService.java:249)
在com.test.btconn.BluetoothListenerService.setBtStateDisconnected(BluetoothListenerService.java:383)
在com.test.btconn.BluetoothListenerService.access $ 5(BluetoothListenerService.java:378)
在com.test.btconn.BluetoothListenerService $ 2.handleMessage(BluetoothListenerService.java:421)
因此,应用程序有与ParcelFileDescriptor,这是突然空了问题。但是,为什么?
所有的上述变化时,对PC-java的应用程序的暂停时间,使用各种大小的数据传输,并使用不同的智能手机也恰好。当使用反射“listenUsingRfcommWithServiceRecord”后505传输同样的情况。还利用wakelock改变什么。
顺便说一句,我使用BluetoothChat样品时,得到了同样的行为。
那么,有没有人暗示,会发生什么情况?
BluetoothServerSocket的每个连接的BluetoothSocket后关闭,如果蓝牙状态为3。
解决方案 这个问题似乎连接到的的限制文件描述符的设备上。有一个报告,这里 </这个问题从系统中得到了两个新的函数依赖。看来你不关闭你的previous BT连接正确,以便使用的文件描述符的数量不断增加,直到达到最大极限。
要避免这一点,你至少得叫关闭()上的 BluetoothServerSocket 的你收到 listenUsingRfcommWithServiceRecord完成操作的后()通话。您也应该检查,如果你持有到连接到BT有关的其他资源,如果可能的话让他们自由。
由于这是在这里要求是如何强制BluetoothServerSocket的ParcelFileDescriptor闭幕。 小心:它可能会破坏东西
您将要访问的 mSocket 的领域中的 BluetoothServerSocket 的访问底层的的BluetoothSocket 的。这的的BluetoothSocket 的持有外地MPFD的ParcelFileDescriptor。而在这你可以调用关闭()。由于这两个领域是不可见的,你将不得不使用的的思考的:
公共无效closePFD(BluetoothServerSocket closeMe)抛出AllKindOfExceptionsThatYouHaveToHandle
现场mSocketFld = closeMe.getClass()getDeclaredField(“mSocket”)。
mSocketFld.setAccessible(真正的);
的BluetoothSocket btsock =(的BluetoothSocket)mSocketFld.get(closeMe);
现场mPfdFld = btsock.getClass()getDeclaredField(“MPFD”)。
mPfdFld.setAccessible(真正的);
ParcelFileDescriptor PFD =(ParcelFileDescriptor)mPfdFld.get(btsock);
pfd.close();
这将关闭的 BluetoothServerSocket 的。如果你想关闭刚刚的的BluetoothSocket 的从BTServerSockets接受的方法,你可以离开了越来越部分的 mSocket 的作为的。
本文地址: &
扫一扫关注官方微信经验3638 米
在线时间368 小时
积分 4147, 距离下一级还需 853 积分
积分 4147, 距离下一级还需 853 积分
机型小米手机2/2S
签到次数105
MIUI版本4.8.8
蓝牙耳机是MOTO的HX550,支持一拖二(手机),支持听音乐的,但自从升级到2.8.21版本后各种的不稳定就出现了,之前的版本还是可以的,具体现象如下:
1、拨叫电话时在对方没有接听电话之前,有一小段时间是可以用蓝牙耳机挂断的,但在听到耳机里传来嘀一声后,就无法通过蓝牙耳机挂断电话了,这个问题以前一直都存在;
2、拨打电话,有时明明蓝牙耳机已经连接,但却只能从手机通话,而无法通话蓝牙耳机通话, 要手动将“接听设备”转回听筒再转回蓝牙才能从蓝牙耳机通话;
3、对方打来电话,用蓝牙耳机或者手机接听后(一般情况下,即使不是蓝牙耳机接听而使用手机,蓝牙耳机一样应可以与对方通话的),就可能会出现以下几种情况:
a) 蓝牙耳机和手机听筒里面一点声音都没有,也无法正常与对方通话;
b) 蓝牙耳机接听,对方声音却从手机听筒传出,通话过程中,有时又突然转到蓝牙耳机上,有时又得手动将“接听设备”转回听筒再转回蓝牙才能从蓝牙耳机通话;
c) 蓝牙耳机接听,蓝牙耳机通话,但通话过程中,有时又突然转到手机听筒上;
d) 这款蓝牙耳机是可以收听手机里的歌曲的,但现在却无法收听歌曲;且,在连接蓝牙耳机的情况下,播放歌曲,手机和蓝牙耳机里都没有声音;细听,应该是出现非常卡顿的情况,几乎间隔2~3秒钟,才吱一声,断开蓝牙,歌曲才能正常播放;
e) 蓝牙耳机连接时,来电铃声及屏幕显示、操作等会有卡顿。
以上说的这些情况很令人抓狂,系统开发组重视并解决蓝牙耳机的相关问题!附bugreport文件。bug不是每次都会出现,但经常会出现,我尽量抓bug上传。
00:22 上传
点击文件名下载附件
下载积分: 经验 -1 米
2.67 MB, 下载次数: 36, 下载积分: 经验 -1 米
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
已有&1&人评分
MIUI 因你更精彩!
水平有限,不周之处还望指出!企鹅:201604
有同样问题的机油请围观:
经验3638 米
在线时间368 小时
积分 4147, 距离下一级还需 853 积分
积分 4147, 距离下一级还需 853 积分
机型小米手机2/2S
签到次数105
MIUI版本4.8.8
原来附件用快压压缩的,重新再上传一次。
10:50 上传
点击文件名下载附件
下载积分: 经验 -1 米
3.86 MB, 下载次数: 20, 下载积分: 经验 -1 米
水平有限,不周之处还望指出!企鹅:201604
有同样问题的机油请围观:
经验3638 米
在线时间368 小时
积分 4147, 距离下一级还需 853 积分
积分 4147, 距离下一级还需 853 积分
机型小米手机2/2S
签到次数105
MIUI版本4.8.8
刚刚又抓了一个log,蓝牙耳机在通话过程中,突然就转到手机听筒,无语……
19:16 上传
点击文件名下载附件
下载积分: 经验 -1 米
824.78 KB, 下载次数: 2, 下载积分: 经验 -1 米
水平有限,不周之处还望指出!企鹅:201604
有同样问题的机油请围观:
经验2305 米
在线时间244 小时
版本4.10.17
一个坚决跟乱盖章现象死磕到底的理想主义者!
积分 2957, 距离下一级还需 2043 积分
积分 2957, 距离下一级还需 2043 积分
机型小米手机1/1S
签到次数67
MIUI版本4.10.17
e) 蓝牙耳机连接时,来电铃声及屏幕显示、操作等会有卡顿。
这个我也遇到过!
请问楼主蓝牙耳机是一直连着的,还是有通话来或者外拨时自动开启的?
“乱盖章”现象已经严重影响了论坛的气氛,拒绝任何不负责任的肤浅回复,对乱盖章说不。
如果我有时间的话,我一定做到热心解答,帮助判断和分析。
经验3638 米
在线时间368 小时
积分 4147, 距离下一级还需 853 积分
积分 4147, 距离下一级还需 853 积分
机型小米手机2/2S
签到次数105
MIUI版本4.8.8
是一直连着就会有这种情况,蓝牙耳机关闭时就没有。
我的蓝牙耳机折叠的时候就是关机状态,需要接听电话就打开开机。
水平有限,不周之处还望指出!企鹅:201604
有同样问题的机油请围观:
经验2305 米
在线时间244 小时
版本4.10.17
一个坚决跟乱盖章现象死磕到底的理想主义者!
积分 2957, 距离下一级还需 2043 积分
积分 2957, 距离下一级还需 2043 积分
机型小米手机1/1S
签到次数67
MIUI版本4.10.17
emil77 发表于
回复 wbsr 的帖子
是一直连着就会有这种情况,蓝牙耳机关闭时就没有。
会不会是来电时或去电时,手机蓝牙是开着的,但是耳机关闭了,打开耳机需要等几秒才能连上
那么耳机连接之前,声音肯定是手机里出来,连上耳机之后,耳机嘟一声,然后声音就应该从耳机出现了。
“乱盖章”现象已经严重影响了论坛的气氛,拒绝任何不负责任的肤浅回复,对乱盖章说不。
如果我有时间的话,我一定做到热心解答,帮助判断和分析。
经验3638 米
在线时间368 小时
积分 4147, 距离下一级还需 853 积分
积分 4147, 距离下一级还需 853 积分
机型小米手机2/2S
签到次数105
MIUI版本4.8.8
反正只要是蓝牙耳机跟手机连接着,就会经常出现卡顿的情况。
现在更让人恼火的是,明明是蓝牙耳机接听电话了,却要用手机来通话(声音从手机听筒传出),或者蓝牙耳机通话过程中,会突然转到手机通话。
水平有限,不周之处还望指出!企鹅:201604
有同样问题的机油请围观:
经验2305 米
在线时间244 小时
版本4.10.17
一个坚决跟乱盖章现象死磕到底的理想主义者!
积分 2957, 距离下一级还需 2043 积分
积分 2957, 距离下一级还需 2043 积分
机型小米手机1/1S
签到次数67
MIUI版本4.10.17
emil77 发表于
回复 wbsr 的帖子
反正只要是蓝牙耳机跟手机连接着,就会经常出现卡顿的情况。
铃声卡顿现象,应该是从最近的某个版本开始出现的。
通话中自动切换到听筒,我最近没出现了,以前出现过的。
我感觉应该是跟蓝牙连接不稳定有关,有时候身体挡住了耳机和手机,可能就会造成连接的瞬间断开。
可能这个断开没处理好,就自动切换到听筒了。
您使用当中,是否手机和耳机之间没有什么障碍物,身体的障碍还是很大的,比如手机放在左边裤兜,耳机在右耳。
我还遇到米聊里面用蓝牙耳机听语音的问题呢:
能帮忙在开发专区-米聊里面帮忙提交一下么?
就是米聊发来的语音,连着耳机听的时候,播放进度条开始走了,耳机里没声音,大概2秒之后耳机才有声音
结果就是别人说的话的最后两秒,听不到了。
关闭耳机,用手机直接听,就没问题。
但是在微信里面,同样用耳机听,就没有这样的延迟!
“乱盖章”现象已经严重影响了论坛的气氛,拒绝任何不负责任的肤浅回复,对乱盖章说不。
如果我有时间的话,我一定做到热心解答,帮助判断和分析。
经验3638 米
在线时间368 小时
积分 4147, 距离下一级还需 853 积分
积分 4147, 距离下一级还需 853 积分
机型小米手机2/2S
签到次数105
MIUI版本4.8.8
你提到的关于米聊的问题我也一并提交了,请关注:
米聊使用蓝牙耳机的问题
水平有限,不周之处还望指出!企鹅:201604
有同样问题的机油请围观:
经验2305 米
在线时间244 小时
版本4.10.17
一个坚决跟乱盖章现象死磕到底的理想主义者!
积分 2957, 距离下一级还需 2043 积分
积分 2957, 距离下一级还需 2043 积分
机型小米手机1/1S
签到次数67
MIUI版本4.10.17
emil77 发表于
回复 wbsr 的帖子
你提到的关于米聊的问题我也一并提交了,请关注:
还是解答组比较给力!
“乱盖章”现象已经严重影响了论坛的气氛,拒绝任何不负责任的肤浅回复,对乱盖章说不。
如果我有时间的话,我一定做到热心解答,帮助判断和分析。
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI 100周
100周发布纪念勋章
1000万用户纪念勋章
MIUI1000万用户纪念勋章
Copyright (C) 2017 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号后使用快捷导航没有帐号?
平板/笔记本
云服务专区
蓝牙耳机的使用等一系列问题, 希望有人可以帮忙
&登堂入室&
来自:浏览器
第一个问题是: 当我连接蓝牙耳机的时候, 用微信发语音的时候正在听的歌就会从耳机变成外放, 结果就是微信语音在录的同时喇叭也放着歌.rom版本是116, 蓝牙耳机是aftershokz的Bluez 2.
第二个问题是:
在用自带的音乐播放器的时候, 很多时候听到一半就自动换歌.
第三个问题是:
充电的时候触摸屏会漂移之类的. 触位不准确.
暂时记得是那么多...大家补充一下..
width:100%">
&自成一派&
来自:浏览器
width:100%">
&略有小成&
来自:浏览器
并没有遇见过这样的问题,楼主大大你的蓝牙耳机都用成这样了,还不如换原装耳机呢,不都挺好的嘛,虽然有线挺麻烦。
width:100%">
&登堂入室&
来自:浏览器
并没有遇见过这样的问题,楼主大大你的蓝牙耳机都用成这样了,还不如换原装耳机呢,不都挺好的嘛,虽然有线 ...
就是觉得有线好麻烦..老夫又属于那种好动的人..老是扯到线...
width:100%">
&登堂入室&
来自:浏览器
还有一个问题就是蓝牙信号好弱哦不知道为什么...我把手机放裤带里..经常断一下断一下的...拿出来靠近一点就没事了..
width:100%">
&炉火纯青&
来自:浏览器
我用的三星HM3300,没有碰到你说的问题
width:100%">
&登堂入室&
来自:浏览器
我用的三星HM3300,没有碰到你说的问题
你说的是微信的事情还是信号的事情? 难道是兼容性问题?
width:100%">
&略有小成&
来自:浏览器
就是觉得有线好麻烦..老夫又属于那种好动的人..老是扯到线...
我也有这方面的困扰,还记得最频繁换手机耳机的时候是买了一天就扯断了,结果那个卖手机耳机的老板看我第二天又来买,直接给我拿批发价了。
width:100%">
&略有小成&
来自:浏览器
蓝牙耳机加微信,真的会这样……我遇到好几次了
width:100%">
海边飞人夜色来临唯你最美壮乡小仙境毛塘湿地贡湖湾湿地烧烤Mate9镜头的海之爱小默乡游-临沂
花粉客户端
Make it Possible
Make your device special
华为云服务
Huawei cloud services
音乐播放器
Huawei Music
Huawei Vmall
没有最新动态
关注花粉俱乐部
联系我们:
|关注花粉俱乐部:
Copyright (C)
华为软件技术有限公司 版权所有 保留一切权利没防备,傻乎乎就开了,然后传了一首歌给她。  想问一下,除了这首歌,连接的时候,她是不是还可以浏览到我手机里的其他资料,比如录象、图片、短信等等?  还有,蓝牙连接前我已经删除的信息,她应该看不到了吧?  怀疑是被看到了,听到她的手机里突然传出一句话,很象我自己手机里录象中我说的话。  当然她想偷我的资料肯定是有目的的,这我知道,所以想问一下,看会不会有什么严重后果。  谢谢各位高人了!
楼主发言:1次 发图:0张 | 更多
  没有人知道吗?
“前天我被男朋友偷亲了一下嘴,不知道会不会怀孕?”
  那就是说没事了?  可是连接的时候,她是不是可以浏览我手机中的东西,因为确实听到那句话非常象我自己说的,旁边另一个同事也基本确定那就是我的视频声音。但是我们也不能就非说是。只是想确认一下,她是不是可以在连接时看我的东西。
  没关系的除非他自己回改装自己的手机,不N机厂家的工程师还厉害~!
  别逗了!这功能现在想实现还实现不了呢!    你用QQ给你朋友发一东西,他们就知道你电脑里的东西了么?!
  你没有蓝牙共享的资料根本看不到.觉得不保险的话,自己用两台机器连接试试.
       作者:CCCP 回复日期: 23:34:28 
     “前天我被男朋友偷亲了一下嘴,不知道会不会怀孕?”    高~有意思
  连接的时候,她是不是可以浏览我手机中的东西      是,可以的!
  不相信的话,你可以再传一次,然后试试能不能浏览别人的机子。    
  可以浏览和得到,  但要你允许.....会在连接前让你确认~
  如果可以联接,是可以浏览你手机里的文件的.还可以拷贝,删除.
  …………………………
  呵呵,LZ你也太搞笑了吧!
请遵守言论规则,不得违反国家法律法规回复(Ctrl+Enter)后使用快捷导航没有帐号?
查看: 2809|回复: 9
有没有人有我得这个问题:老是连不上蓝牙耳机?
该用户从未签到
装的平海浪子的4.0,好像很难连接上蓝牙耳机。
具体的是:
配对后,手机声音和媒体都连接上了,很正常。但是如果蓝牙耳机没电,充好电后,就再也连接不上手机声音了,倒是媒体还能连上。除非我再重新配对。
这个问题大家碰上过吗?是rom的问题还是我得耳机的问题呢?
该用户从未签到
我的是4.0后,重启手机需要再连接。。
该用户从未签到
耳机问题吧,我的缤特力M到现在的4.0.4一直正常使用
该用户从未签到
mw600表示相当正常
该用户从未签到
挺好的啊。歇息诶谢谢
该用户从未签到
看来我有必要换耳机啦!
Powered by

我要回帖

更多关于 360发现qemu严重漏洞 的文章

 

随机推荐