Java android设备上是否有唯一的启动会话id或计数?
我正在编写的应用程序需要知道,由于缺少更好的术语,“启动会话”是否已更改,但不需要在启动时实际启动,如果可能,我希望不必使用Java android设备上是否有唯一的启动会话id或计数?,java,android,Java,Android,我正在编写的应用程序需要知道,由于缺少更好的术语,“启动会话”是否已更改,但不需要在启动时实际启动,如果可能,我希望不必使用RECEIVE\u boot\u COMPLETED权限 因此,我想知道是否有任何设备范围的引导会话id或计数,我可以查询并存储在我的数据库中,以便稍后检查。我知道我可以得到启动后的毫秒时间,但我不认为这在这种情况下有用 提前感谢您的帮助。为什么不在数据库中存储上次启动的(绝对)日期和时间?您可以使用自启动以来的时间轻松地计算它,并且考虑到启动所需时间远远超过毫秒,它应该相
RECEIVE\u boot\u COMPLETED
权限
因此,我想知道是否有任何设备范围的引导会话id或计数,我可以查询并存储在我的数据库中,以便稍后检查。我知道我可以得到启动后的毫秒时间,但我不认为这在这种情况下有用
提前感谢您的帮助。为什么不在数据库中存储上次启动的(绝对)日期和时间?您可以使用自启动以来的时间轻松地计算它,并且考虑到启动所需时间远远超过毫秒,它应该相当准确。是的,在API>=24上。您可以使用。要阅读此内容,请尝试以下代码段:
int boot_count = Settings.Global.getInt(getContext().getContentResolver(),
Settings.Global.BOOT_COUNT);
在API 24之前,您被困在捕获
接收启动\u完成
如何使用?获得两个相同UUID的机会应该是微乎其微的。因为根文件系统通常是一个ramdisk,它的创建日期实际上是一个引导时间戳。那么您找到引导会话id或计数了吗?很抱歉没有回复。。。但是(也许)迟做总比不做好。我已经很长时间没有使用过这个网站或者做过android应用程序开发了,所以我没有什么要补充的,但是没有,我想我从来没有找到过。据我记忆所及,我只是在数据库中使用时间戳。请注意,自系统报告上次启动以来的时间可能会在我测试此解决方案的许多android设备上跳跃,产生错误的启动计数。这是个坏主意:用户可以随时更改日期