在使用 ViewBinding 时,我遇到了一些没有记录的案例。
第一:如何获取包含的通用视图布局部分的绑定,主绑定只看到主布局中的项目?
第二:如何获得包含的合并类型布局部分的绑定,再次主绑定只看到主布局中的项目?
使用谷歌的新功能应用内更新我注意到它似乎返回旧的(以前的)更新信息而不是正确的最新信息。
Android 前段时间引入了新的强制更新功能:https : //developer.android.com/guide/app-bundle/in-app-updates 称为应用内更新
使用它时,我注意到根据谷歌的教程获取应用程序更新信息时,返回的应用程序版本代码有时与商店中可用的应用程序版本代码不同步(有以前的更新信息)。看起来我们在代码中请求的应用更新信息是从缓存中获取的,而不是真正的 google play 商店服务。
val appUpdateManager = AppUpdateManagerFactory.create(context)
val appUpdateInfoTask = appUpdateManager.appUpdateInfo
appUpdateInfoTask.addOnCompleteListener { task ->
when {
task.isSuccessful -> {
val appUpdateInfo = task.result
//the successful app update info may have old (previous) info
[...]
}
[...]
}
}
Run Code Online (Sandbox Code Playgroud)
当我们决定激活强制更新流程时,即使商店中有可用的更高版本的应用程序,应用程序也会更新到错误的版本。
更深入地探索这个主题,我发现,当通过 Google Play 商店对任何其他应用程序执行更新时,我们的操作将触发缓存刷新,并且下次应用程序内更新流返回正确的值和更新以正确的应用程序更新。
有没有人知道如何通过应用内更新或以编程方式强制刷新 Play 商店缓存来获取正确(最新)的可用应用版本代码?
更新:
我在其中一次会议上与谷歌开发人员讨论了这个案例。根据他的说法,无法以编程方式触发 Google Play 的列表更新(有关可用更新的信息) - 用户必须手动输入它,然后更新列表。Google Play 的缓存持续 24 小时,我被告知 Google Play 应该刷新它的列表。