Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 有没有比引导完成时更快的方法呼叫接收器?_Android - Fatal编程技术网

Android 有没有比引导完成时更快的方法呼叫接收器?

Android 有没有比引导完成时更快的方法呼叫接收器?,android,Android,一些背景: 我有一个自己使用的报警应用程序,在您之前请求的报警持续时间内,它会在报警关闭时锁定屏幕。基本上,你的手机是一块响了x分钟的砖块。唯一的问题是我昏昏欲睡的自我是非常不理性的,早上我发现,如果我关掉手机,到达应用程序位置,在接收器被呼叫(启动完成)之前卸载它,那么我就可以绕过它,用砖块塞住我的手机。当我的LG G2在4.2.2上运行时,这并不是什么大问题,因为手机的通话速度太快了,我通常需要重启手机5-8次才能卸载该应用程序,然后它就坏了,所以我放弃了尝试。现在,我升级到了4.4.2,1

一些背景: 我有一个自己使用的报警应用程序,在您之前请求的报警持续时间内,它会在报警关闭时锁定屏幕。基本上,你的手机是一块响了x分钟的砖块。唯一的问题是我昏昏欲睡的自我是非常不理性的,早上我发现,如果我关掉手机,到达应用程序位置,在接收器被呼叫(启动完成)之前卸载它,那么我就可以绕过它,用砖块塞住我的手机。当我的LG G2在4.2.2上运行时,这并不是什么大问题,因为手机的通话速度太快了,我通常需要重启手机5-8次才能卸载该应用程序,然后它就坏了,所以我放弃了尝试。现在,我升级到了4.4.2,10秒钟后接收器被呼叫,让我每次第一次尝试就删除应用程序。使应用程序完全无用

我所尝试的: 我曾尝试在清单中使用quick_boot,但我相信这只适用于HTC,因为出于某种原因,该操作系统不会调用on_boot。我还尝试了用户演示,它似乎只有在启动完成后才能工作,比如解锁手机


真的没有办法让onReceive调用比onBoot更快吗?如果没有,这是有道理的,我只是希望有人能提供一个明确的答案

在某些情况下是这样的。我不是100%确定,但我认为(某些)系统应用程序的优先级高于操作启动完成事件。还有一个动作屏幕,应该在动作启动完成之前触发

我应该在问了这个问题一周左右后回答这个问题,因为我发现了一个非常有用的解决方法,尽管有点草率

我用intent过滤器做了一个新的活动(homeLock)。homeLock扩展活动,我的旧主活动(alarmMain)现在扩展homeLock而不是活动。homeLock所做的只是启动覆盖服务(因此您无法停止报警/使用手机),当alarmMain确定当前是否应响起报警时,该服务将被关闭。alarmMain中现在有一个按钮,上面写着“更改主页”,可以让homeLock成为主页应用程序。现在,当您在调用onBootReceived(启动报警和覆盖)之前关闭手机并重新启动以尝试删除应用程序时,将调用homeLock活动,该活动将在屏幕上放置覆盖,直到应用程序确定是否应播放报警后将其删除(收到后)

基本上,在您进入睡眠状态之前,只需从应用程序内部或通过设置将此应用程序设置为您的家庭应用程序。现在,在闹钟开始响起之前,不可能删除该应用程序或关闭闹钟,因为即使重新启动手机,屏幕上也始终会有覆盖


显然,这一添加仅适用于启动缓慢或极度退化的睡眠者手机,或像我这样的两者。虽然这不太可能对任何人都有帮助,因为这是一个如此独特的问题,我认为我应该发布我一直在使用的解决方法,以防有人最终发现它有用。

没有更快的方法,但这不是他第一次通知Android发出启动完成的消息。现在启动速度可能会慢一些,原因是谷歌实际上已经实施了安全功能,让你无法完成应用程序设计的功能:p这个问题有点像……“我可以在启动引擎之前驾驶我的汽车吗?”根据您对问题的描述,您应该针对用户Emanuel提交一个bug,我应该提到我也尝试了ACTION_SCREEN_,boot_completed似乎仍然是第一个。