java 安卓应用程序在退出时未正确释放蓝牙
我迫切需要解决这个问题,因为某些原因,我在另一台设备上测试了我的蓝牙应用程序,当我关闭应用程序(onDestroy())并重新输入时,蓝牙连接失败。目前唯一的解决方案是为设备关闭和打开蓝牙
我使用的代码或多或少是安卓的bluetoothchat示例。我创建了2个bt连接到先前选择的设备
然后,我使用inputstream和output stream与这些socket来回通信
当我的应用程序被破坏时——我关闭输入和输出以及蓝牙插座,我甚至会终止进程(在这里发现一些代码),但当我返回应用程序时,连接失败
到目前为止,有人能从我说的话中提供帮助吗?目前我的代码很多,所以我不知道要粘贴什么,但bt连接基本上是使用示例中的类,然后将这些创建的socket传递给我的其他类
提前谢谢
# 1 楼答案
正如Gaks提到的,您的问题可能涉及onResume()/onPause()。您是否绝对确定调用了onDestroy清理(如中所示,您是否正在记录和/或观看logcat)
如果你的应用程序不是持久的,最好在应用程序不再使用时进行清理(onPause)
另外,如果你有两个连接,你需要做些什么来关闭它们?我只是猜测一下
# 2 楼答案
使用onDestroy的最佳方式是按照以下方式,希望您也在做类似的事情