序列号在 getChangedPackages API 中是如何工作的?

exe*_*ifs 5 android

自 Oreo 以来,引入了一种新方法来弥补阻止应用程序接收PACKAGE_ADDED隐式意图:getChangedPackages

但是,文档并不清楚预期的参数 ( sequenceNumber)到底是什么。据我所知,返回值getChangedPackages是一个ChangedPackages公开getSequenceNumber方法的对象。此外,每次设备启动时,该序列号都应该重置为 0。

这就是我认为应该使用该函数的方式:

  1. 侦听BOOT_COMPLETED意图并将 0 存储在首选项中作为当前序列号。
  2. 每次getChangedPackages调用时,用结果的getSequenceNumber方法更新当前已知的序列号。
  3. 冲洗并重复。

我认为这会起作用,但是为了让 API 可靠地工作而必须检测启动并设置首选项似乎很笨拙。有什么我在这里想念的吗?