Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.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
Java android设备上是否有唯一的启动会话id或计数?_Java_Android - Fatal编程技术网

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设备上跳跃,产生错误的启动计数。这是个坏主意:用户可以随时更改日期