我有一个项目要求,要求android始终在后台运行服务。 虽然我可以使用START_STICKY来处理服务部分,但是我仍然无法保证设备始终处于打开状态。 或者至少如果连接到电源应该自动启动,如果关闭。
现实世界中有没有解决方案?除了要制作新固件之外,我需要一些想法或解决方法。 感谢。
更新:我认为更清楚。在我的情况下,我没有使用Android作为移动设备,没有用户。它的使用就像一个运行android的硬件设备,一旦安装了我的应用程序,没有人可以访问它。并始终连接到电源和互联网。用户也可以访问其电源控制。
我同意不能从内部应用程序或使用Android API完成。但这是一个现实世界的问题,我迫切需要一个解决方案。任何与编程无关的东西都可能是机械的或任何东西。
答案 0 :(得分:1)
我也想做同样的事但在网上找不到任何解决方案。然后我提出了一个硬件解决方案,我在我的博客http://iembed.tumblr.com/post/9055351385/boot-on-power
中描述了这个解决方案希望这有帮助!
答案 1 :(得分:0)
我怀疑你的问题有解决方案。关闭时充电的事件将永远不会达到最高级别,但将在低硬件级别处理(打开屏幕并显示充电状态)。因此,您的应用程序永远不会有机会对此类事件作出反应。 第二件事是,用户始终拥有关于硬件的能力。如果他决定关闭设备,它应该也可能会关闭。他最后一次机会就是取消电池。
所以你的解决方案是拒绝这个要求,因为它无法完成。
答案 2 :(得分:0)
我不知道你想做什么,但这看起来真的很糟糕......任何人都会立即卸载这样的应用程序。如果我关掉手机,我不想要一个可以在不问我的情况下打开手机的应用程序。
无论如何这看起来不可能...... android API不允许你这样做。
答案 3 :(得分:0)
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
| PowerManager.ACQUIRE_CAUSES_WAKEUP,
"Any String");
mWakeLock.acquire();
答案 4 :(得分:0)
我找到了一个应用程序,可让您在关闭并充电时启动设备
该应用名为NoMoarPowah!
它可以在特定设备上运行,并且需要生根。如果电池充电或充电15%或有足够的果汁可以启动,您可以启动设备。
试试吧......