Java Android:将类实例与活动解耦以处理显示旋转?
我正在写一些蓝牙应用程序。因此,我编写了一个类,它使用线程和消息处理程序处理蓝牙通信。 目前,我在一个活动中创建了这个类的一个实例,我的Bluetooth类的这个实例建立了一个连接。好的 现在,当显示器旋转时,活动被破坏,我的Bluetooth类实例也被破坏,因此必须断开连接。我了解如何通过显示旋转来保存数据,并且我已经实现了重新创建的Bluetooth类实例将在旋转后自动重新连接 但是,我希望在旋转期间保持蓝牙连接,也就是说,我不仅希望在旋转期间保留一些数据,还希望保持Bluetooth类实例“活动”。但要做到这一点,我必须将Bluetooth类实例放在活动之外的某个保存位置Java Android:将类实例与活动解耦以处理显示旋转?,java,android,android-bluetooth,Java,Android,Android Bluetooth,我正在写一些蓝牙应用程序。因此,我编写了一个类,它使用线程和消息处理程序处理蓝牙通信。 目前,我在一个活动中创建了这个类的一个实例,我的Bluetooth类的这个实例建立了一个连接。好的 现在,当显示器旋转时,活动被破坏,我的Bluetooth类实例也被破坏,因此必须断开连接。我了解如何通过显示旋转来保存数据,并且我已经实现了重新创建的Bluetooth类实例将在旋转后自动重新连接 但是,我希望在旋转期间保持蓝牙连接,也就是说,我不仅希望在旋转期间保留一些数据,还希望保持Bluetooth类实例
有没有办法做到这一点?蓝牙连接是否应该在整个应用程序生命周期内保持活动状态?您可以在应用程序类中创建连接,也可以创建单例。@Zelldon:很好的提示。我甚至不知道存在应用程序类。我会查一查的!所以我试过了。工作原理是,我可以创建一个全局(静态)Bluetooth类实例,它可以在活动周期中生存。但是,当应用程序终止时,如何关闭全局Bluetooth类实例(例如关闭套接字)?我了解到onTerminate()只适用于模拟器,但不适用于真正的硬件。您有主要活动吗?哪个洞的时间?因此,您可以在onDestroy中关机,或者使用计数器计算如果最后一个活动被破坏会进行多少活动在destroy中关闭蓝牙。也许这样使用蓝牙服务更好