使用以下代码片段实现了应用内更新功能:
private void showInAppUpdateDialog(boolean isMandatoryUpdate) {
Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
|| appUpdateInfo.updateAvailability() == UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS) {
int appUpdateType = isMandatoryUpdate ? IMMEDIATE : AppUpdateType.FLEXIBLE;
int requestCode = isMandatoryUpdate ? REQUEST_APP_UPDATE_IMMEDIATE : REQUEST_APP_UPDATE_FLEXIBLE;
if (appUpdateInfo.isUpdateTypeAllowed(appUpdateType)) {
// start the app update
try {
appUpdateManager.startUpdateFlowForResult(appUpdateInfo, appUpdateType, targetActivity, requestCode);
} catch (IntentSender.SendIntentException e) {
e.printStackTrace();
}
}
}
}).addOnFailureListener(e -> {
e.printStackTrace();
});
}
我正在安卓9的设备上测试应用内更新。但是,它给了我一个错误(ERROR_API_NOT_AVAILABLE):
com.google.android.play.core.install.InstallException: Install Error(-3): The API is not available on this device. (https://developer.android.com/reference/com/google/android/play/core/install/model/InstallErrorCode#ERROR_API_NOT_AVAILABLE)
at com.google.android.play.core.appupdate.i.a(Unknown Source:24)
at com.google.android.play.core.internal.o.a(Unknown Source:13)
at com.google.android.play.core.internal.j.onTransact(Unknown Source:22)
at android.os.Binder.execTransact(Binder.java:731)
使用Play core库版本: 1.6.5
最新核心库版本:
implementation 'com.google.android.play:core:1.7.0'
然而,我不能理解为什么它会说ERROR_API_NOT_AVAILABLE。任何帮助都将不胜感激!
发布于 2020-03-17 21:18:25
发布于 2020-04-17 19:15:57
在Vipal建议的基础上,该问题可能是由于您在设备上安装的版本与Play Store将提供的版本之间的签名不匹配造成的(如果您尝试使用调试版本对其进行测试,这是一个常见问题)。请参阅https://developer.android.com/guide/playcore/in-app-updates#troubleshoot
最近,如果应用程序不属于用户或签名不匹配,Play Core API开始返回API_NOT_AVAILABLE
错误,而在此之前,它用于返回成功的UPDATE_NOT_AVAILABLE
任务。
建议是:
如果您使用Kotlin扩展,请确保您正在捕获requestAppUpdateInfo
getAppUpdateInfo
onFailureListener
。为了测试调试构建,您可以使用内部应用共享,如下所述:https://developer.android.com/guide/playcore/in-app-updates#internal-app-sharing来源:我在Play Core团队工作
发布于 2020-03-17 17:12:01
我的应用程序在今天之前运行得很好,但我今天开始收到这个错误。一个临时的解决办法是清除你的Google Play Store缓存和存储空间,然后尝试启动该应用程序。对我来说,它只在第一次起作用,但后来就失败了。在再次启动应用程序之前,我必须再次清除缓存和存储空间。我认为Google Play Store方面有问题,由于这个问题的发生,因为在今天之前对我来说一切都很好。
https://stackoverflow.com/questions/60718191
复制相似问题