如何防止应用程序自行关闭

时间:2013-01-14 09:47:17

标签: android

我开发了一个mdm服务器(移动设备管理器)和一个Android应用程序。我已设法连接这两个设备。另外,我写了一个android应用程序,可以在任何android平台上运行。现在,我试图以一种未经我许可不能关闭的方式来管理android应用程序。换句话说,android应用程序将从手机的启动运行,直到我发送命令关闭它。

我不知道如何做到这一点。如果你知道,你能分享你的知识吗?

3 个答案:

答案 0 :(得分:2)

不可能,您无法阻止用户查杀您的应用程序。 (任务杀手等)

但你可以做的是创建一个服务并通过startService / stopService启动/停止它。然后把它弄干净。

Android可以在资源不足时终止服务,STICKY会重新启动服务。

答案 1 :(得分:2)

永远不可能在Android上结束应用程序。

每当系统需要更多资源用于当前前台任务时,它将终止后台进程以释放RAM和CPU。

但是,您可以执行以下操作之一:

使用服务返回START_STICKY或START_REDELIVER_INTENT

在您服务的onStartCommand()中,返回START_STICKYSTART_REDELIVER_INTENT

public int onStartCommand(Intent intent, int flags, int startId) {
   super.onStartCommand(intent, flags, startId);
   return START_STICKY;
}

使用推送通知服务(如GCM)仅在需要时启动应用启动

这是一种更节省电池的方法,因为您的应用程序在不需要时不会运行。通过整合GCM,您可以通过已安装在每个经过Google批准的Android设备上安装的Google服务(其中包含Google Play的任何内容)向您的应用发送推送通知。当设备收到您的通知时,它将启动并通知您设备上的应用程序,从而启动它。

答案 2 :(得分:1)

众所周知,“预防胜于治疗”,我认为你应该尝试用try,catch和Finally块来封闭可疑指令。

除非发生意外缺陷或错误,否则应用程序不会自行关闭。因此,请确保已附上敏感程序指令,例如连接,查找设备等,并在最终块中应用适当的指令。您的计划将根据您的要求运作。感谢