我使用粘性的Android服务通过使用代码片段在服务类如果应用程序管理器中的用户停止应用程序,则希望重新启动服务。
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
但只有重新启动时应用程序获取武力封闭的Android O/S,虽然当用户强制停止应用从应用程序管理器,服务也终止。 但是,我的要求是,我想永远保持运行服务,直到应用程序安装在设备中。 任何人都可以帮助我吗?
你的服务做什么?如果它一直在运行,那么就会出现设计问题,因为这会消耗电池。防止用户杀死你的服务让我看起来像你正在做的事你不想让用户知道/控制... – Nicklas 2014-09-10 16:04:35
是的尼克拉斯,我明白这个问题,但它是客户端的要求,它的应用程序功能,希望跟踪登录的用户是否安装了应用程序。 – Pankaj 2014-09-11 05:15:52
与其他解决方案相比,您可能仍然更适合使用不同的服务。您可以在卸载应用程序时注册广播,并向服务器发送消息。除此之外,如果服务器在当前时间内没有收到设备发送的消息(如果用户在卸载时没有连接到互联网),则可以认为应用程序已卸载。就“登录”状态而言,你的意思是用户是否登录到应用程序或主动使用该设备?无论哪种情况,您都不需要服务来检查这一点。 – Nicklas 2014-09-11 10:29:27