1

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

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

4

3 回答 3

2

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

但是您可以做的是创建一个服务并通过 startService/stopService 启动/停止它。并使其具有粘性。

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

于 2013-01-14T09:51:06.123 回答
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 Play 的设备)上的 Google 服务向您的应用发送推送通知。当设备收到您的通知时,它将启动并通知您设备上的应用程序,从而启动它。

于 2013-01-14T09:54:57.937 回答
1

众所周知的说法是“预防胜于治疗”,通过这些行我的意思是您应该尝试将可疑指令包含在 try、catch 和 finally 块中。

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

于 2013-01-14T09:52:21.560 回答