大家好!
本人在用android开发一个蓝牙稳定性测试app的时候,碰到这个问题,就是本人是点菜单上的“连接”选项,让手机来连接外面的蓝牙服务器,写连接和读出蓝牙数据包的程序应该没有问题的,但是原因是读出蓝牙数据包是用了一个While(true){}的循环,所以当点击菜单项的时候,app进入了这个无限循环里面,而菜单就僵在那里了,不能自动缩回去,这样在界面上就看不到读出的蓝牙报文了。
问一下大家碰到过这种问题吗?
怎么能够让菜单自动回缩,在界面上看到每时每刻读出的蓝牙报文呢?
谢谢!
本人在用android开发一个蓝牙稳定性测试app的时候,碰到这个问题,就是本人是点菜单上的“连接”选项,让手机来连接外面的蓝牙服务器,写连接和读出蓝牙数据包的程序应该没有问题的,但是原因是读出蓝牙数据包是用了一个While(true){}的循环,所以当点击菜单项的时候,app进入了这个无限循环里面,而菜单就僵在那里了,不能自动缩回去,这样在界面上就看不到读出的蓝牙报文了。
问一下大家碰到过这种问题吗?
怎么能够让菜单自动回缩,在界面上看到每时每刻读出的蓝牙报文呢?
谢谢!
解决方案
55
把读取过程放到线程中去,通过handler通知界面
5
最简单的吧while(TRUE){}改成while(var){}然后把var在while里面判断什么时候改成false就可以了。