ERROR_NOT_MARKET_MANAGED
:这个名字真的说明了一切,应用程序不是由 Android Market(现在称为 Google Play)管理的。更具体地说,您的应用程序版本 11 未在 Google Play 中上传或发布。
我应该处理这个错误还是这是一个不切实际的场景?
我认为这是一个不切实际的场景。只要您在 Google Play 中上传新的应用版本,您就不需要在代码中做任何特别的事情。ERROR_NOT_MARKET_MANAGED 更像是一个 LVL 开发警告,它帮助开发人员正确实施许可证检查代码,并在项目构建时按照正确的程序测试许可证检查。查看 LVL 示例代码中的注释:
private class MyLicenseCheckerCallback implements LicenseCheckerCallback {
... ...
public void applicationError(ApplicationErrorCode errorCode) {
if (isFinishing()) {
// Don't update UI if Activity is finishing.
return;
}
// This is a polite way of saying the developer made a mistake
// while setting up or calling the license checker library.
// Please examine the error code and fix the error.
//String result = String.format(getString(R.string.application_error), errorCode);
//String result = "Error";
//handleLicensingResult(result);
}
}
将 LVL 集成到您的应用程序中的全部目的是使用 Google Play 发布您的应用程序,并使用 Google Play 客户端应用程序下载并安装您的应用程序(请参阅开发指南中的要求和限制部分)。如果出现以下情况,我看不到任何可能导致最终用户设备运行时出现此 applicationError 的点:
- 开发人员按照正确的程序在 Google Play 中上传(用于测试 LVL)或发布(用于实际发布)。
- 最终用户使用 Google Play 客户端应用程序购买、下载和安装应用程序。
如果最终用户以某种方式从其他渠道(不是通过 Google Play 购买)获得您的应用程序的副本(集成 LVL 并在 Google Play 中上传/发布)并尝试将其安装在他的设备上(其中安装了 Google Play 客户端应用程序) device),在这种情况下,LicenseCheckerCallback 将转到 dontAllow() 而不是 applicationError(ApplicationErrorCode errorCode)。