在没有活动的情况下启动服务(但使用root)

时间:2015-08-23 16:53:54

标签: android service boot

我想为我的手机创建一个应用程序,它始终在后台运行 - 您永远不应该停止运行该服务。 我的目标是,这个应用程序将当前位置数据发送到我家里的计算机 - 将其取回,例如,当它被盗时,或者当我丢失它时。

问题是,没有活动和/或启动器图标就无法启动服务(因为小偷不应该知道这一点)。

但是:我的手机已经根植了,所以有可能启动这项服务吗?

另外:当我将我的APK放入/system/app分区时,APK会在恢复出厂设置后继续存在吗?

1 个答案:

答案 0 :(得分:1)

是的,你可以。植入手机对你想要做什么并不重要,如果有人试图恢复你的手机,你的应用程序仍然不会被删除,如果你把apk放在/system/app分区中,就像你说的那样。它会像一个普通的系统应用程序一样反应。但是,当然,您还必须在将应用程序移动到系统文件夹时为其设置正确的权限才能工作。

为防止小偷了解您的应用,您只需使用不明确的名称命名您的应用,并且没有描述应用内容的图标,因为您的应用仍会在您的应用管理器中通过手机设置显示。除此之外,您还可以执行以下操作:

要创建Home Launcher中没有图标的应用,只需从AppManifest.xml中删除活动的intent filter android.intent.category.LAUNCHER

要实现后台应用程序,它很大程度上取决于您想要做什么。您可以为长时间运行的任务Service创建BroadcastReceiver,以使用意图过滤器对特定事件或活动做出反应。

修改

为了让您的应用自动运行,您必须将应用放入此文件夹/system/priv-app。这样,每次启动设备时都会启动您的应用。