我正在创建一个具有音频通话功能的Android应用程序(Java代码)。我使用了webRTC框架使其正常工作。我想让我的音频通话表现得像WhatsApp和Messenger一样,这些应用程序即使用户停止应用程序或开始使用其他应用程序,通话也仍在继续进行。
因此,我决定将webRTC代码从Activity迁移到前台服务。我的音频通话Activity处理UI,显示朋友的照片、姓名、通话计时器等。因此,我必须通过绑定和发送android.os.Message对象实现Activity和前台服务之间的通信。
在使用三星设备时,一切都很好,如果我杀死应用程序,我可以通过点击前台服务的通知返回到呼叫活动,并且音频通话会一直工作直到挂断电话。
但是,当我使用小米设备(红米note7)时,我的问题出现了。如果我杀死应用程序,音频通话就会停止,因为我的前台服务被重新启动。即使在设置中启用了“自动启动”。
我在这里搜索了解决方案,但我找到的所有答案都不能满足我的需求,因为我不能接受我的服务被重新启动。如果我想恢复音频通话,我必须再次呼叫朋友!
因此,问题是: 如何防止小米、华为、OPPO等设备重新启动前台服务?
这是WhatsApp、Messenger、Instagram和其他应用程序的情况。
因此,我决定将webRTC代码从Activity迁移到前台服务。我的音频通话Activity处理UI,显示朋友的照片、姓名、通话计时器等。因此,我必须通过绑定和发送android.os.Message对象实现Activity和前台服务之间的通信。
在使用三星设备时,一切都很好,如果我杀死应用程序,我可以通过点击前台服务的通知返回到呼叫活动,并且音频通话会一直工作直到挂断电话。
但是,当我使用小米设备(红米note7)时,我的问题出现了。如果我杀死应用程序,音频通话就会停止,因为我的前台服务被重新启动。即使在设置中启用了“自动启动”。
我在这里搜索了解决方案,但我找到的所有答案都不能满足我的需求,因为我不能接受我的服务被重新启动。如果我想恢复音频通话,我必须再次呼叫朋友!
因此,问题是: 如何防止小米、华为、OPPO等设备重新启动前台服务?
这是WhatsApp、Messenger、Instagram和其他应用程序的情况。