有一个叫Mobilock的kiosk应用程序。这个应用程序启动速度比我自己的应用程序快得多(大约在5秒前),我自己的应用程序是从BOOT_COMPLETED广播开始的。
我自己的应用程序有最高优先级,也就是整数的最大值。所以这不是优先考虑的问题。
这些家伙找到了一种比BOOT_COMPLETED广播快5秒启动他们的应用程序的方法。
有人知道他们在做什么吗?
发布于 2018-01-04 11:36:32
我的天啊!幸运的是我找到了。:)
这页说:应用程序必须在系统中注册组件,然后才能在直接启动模式或访问设备加密存储期间运行。应用程序通过将组件标记为加密感知来注册到系统中。要将组件标记为加密感知,请在清单中将android:directBootAware属性设置为true。
当设备重新启动时,加密感知组件可以注册接收来自系统的ACTION_LOCKED_BOOT_COMPLETED广播消息。此时,设备加密存储可用,您的组件可以执行在Direct模式下需要运行的任务,例如触发预定的警报。
你只需要把
Android:directBootAware=“真”
因此,清单中的代码是;
<receiver
android:directBootAware="true" >
...
<intent-filter>
<action android:name="android.intent.action.LOCKED_BOOT_COMPLETED" />
</intent-filter>
</receiver>
发布于 2018-01-04 09:35:30
也请听android.intent.action.QUICKBOOT_POWERON
和android.intent.action.LOCKED_BOOT_COMPLETED
。
它似乎是设备依赖的,哪个广播是首先发送的。
https://stackoverflow.com/questions/48091317
复制相似问题