想象一下以下情况:
MainActivity启动一个线程来接收蓝牙数据。
如果用户按下后退按钮,则会发生以下序列:onPause() -> onStop() -> onDestroy()
。 onDestroy中断活动创建的thead,程序完全结束。
但是,如果用户按下主页按钮,则序列为:onPause() -> onStop()
。并且活动不再可见。但线程仍在运行。
我想要做的是,当线程收到某些BT数据时,MainActivity再次可见(恢复)而无需用户干预。
任何人都知道怎么做?
感谢。
答案 0 :(得分:0)
您应该编写一个在后台运行的服务,并且在某些事件(在您收到通过蓝牙接收的文件中)调用您要运行的应用程序。这将是解决这个问题的一种方法。可能还有其他一些解决方案,但这个解决方案不会耗尽用户的电池。