我正在开发一个应用程序,该应用程序在启动时启动一个活动,该活动使用服务(由 startService 启动)登录到我的服务器(需要通过 facebook 登录的活动)。该服务建立 XMPP 侦听器,之后什么也不做,只是等待连接。我希望该服务在设备启动时一直运行。
问题是活动在一段时间后停止,我的服务也停止了。该服务返回 START_STICKY 所以我期待它会挂起。此外,该服务除了等待连接之外什么也不做。
该活动具有以下属性: android:excludeFromRecents="true" android:noHistory="true" android:launchMode="singleInstance"
这样它就不会出现在任务列表中(当用户长按主页按钮时)。
当用户长按主页按钮并且服务也结束时,活动停止。我认为应用程序可能退出,这就是服务也结束的原因。我找不到任何方法来阻止活动停止。也许是因为上述特性而停止。
那么我该怎么做才能让服务始终运行。如何防止应用程序被删除。我在某处读到,如果我在服务中运行一个 while 循环,那么 START_STICKY 可以保留服务吗?我可以使用 AlarmManager 启动服务,但我不希望它轻易停止,然后每次都必须重新启动它。
我不想运行前台服务。我无法在不同的进程中运行该服务,因为我使用的是不执行 IPC 的现有代码。任何帮助将不胜感激。谢谢。