Java 后台线程被阻止时服务未接收到意图
我有两个Android应用程序通过Intent相互通信。让我们叫他们A和B(不是他们的真名)。在正常情况下,我们有以下几点:Java 后台线程被阻止时服务未接收到意图,java,android,multithreading,android-intent,Java,Android,Multithreading,Android Intent,我有两个Android应用程序通过Intent相互通信。让我们叫他们A和B(不是他们的真名)。在正常情况下,我们有以下几点: A的后台线程向B发送意图 A的后台线程与Object.wait阻塞,超时30秒 B使用Context.startService将意图发送到A A在主线程上的Service.onstart命令中接收意图 A将意图中的信息保存在可从后台线程访问的位置 从主线程,A调用Object.notifyAll以释放后台线程 A中的后台线程处理结果 多年来,它一直运行良好,对于一个特
- A的后台线程向B发送意图
- A的后台线程与Object.wait阻塞,超时30秒
- B使用Context.startService将意图发送到A
- A在主线程上的Service.onstart命令中接收意图
- A将意图中的信息保存在可从后台线程访问的位置
- 从主线程,A调用Object.notifyAll以释放后台线程
- A中的后台线程处理结果
- A的后台线程向B发送意图
- A的后台线程与Object.wait阻塞,超时30秒
- B使用Context.startService将意图发送到A
- A的后台线程超时,不再关心意图
- A在主线程上的Service.onstart命令中接收意图
- A中的意图被丢弃,因为没有任何东西在等待它
- A的后台线程将重试,无限期地再次启动进程
我希望有人看到过类似的情况,并且/或者能够提出这种行为的可能原因。我倾向于认为这是对环境的设备,但我不知道是什么原因造成的。我完全被这个问题所困扰,我目前正在研究一种变通方法,我任意改变这个过程的工作方式,以达到相同的结果,只是希望问题能神奇地消失。可能是用户强制停止后台服务。因此,请先检查。@MukeshKumarSwami我亲眼目睹了这一情况,当时我正在查看一台有问题的设备,但我没有杀死任何服务。我尝试卸载各种东西,但没有效果。