我需要一些初始化代码才能在每次重启后尽快运行一次,然后在设备运行时再也不会再运行一次.
ACTION_SHUTDOWN清除SharedPreference值是不够好的,因为有时候不会发送它(例如电池被移除).ACTION_BOOT_COMPLETED几乎已经足够好了,但这可以在我的应用响应的其他广播之前(例如ACTION_TIME_CHANGED),并且可以在我已经从启动器启动我的应用程序之后被解雇.我需要这个一次性设置代码才能运行.System.currentTimeMillis计算启动时间,因为时钟更改会改变明显的启动时间.一种选择是获取设备的最后启动时间,看看是否已经改变(System.elapsedTime()不够好).我尝试过执行类似的命令who -b,last reboot但两者都拒绝了权限.
另一种选择是在某个地方存储设置/首选项,只有在设备重新启动时它才会被重置,但如果我的应用程序被杀死则不会.
是否有其他选择,或实施上述方法之一?
android ×1