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到應用程序的整點是使用谷歌Play上發佈您的應用程序,並使用谷歌播放客戶端應用程序下載和安裝應用程序(見Requirements and Limitations節開發指南)。我看不到,可在最終用戶的設備上運行時造成這個的ApplicationError任何一點,如果:
- 開發者遵循正確的程序上傳(用於測試LVL),或在谷歌發佈(真正釋放)播放。
- 最終用戶使用Google Play客戶端應用程序購買,下載並安裝應用程序。
如果最終用戶以某種方式從其他渠道(不通過Google Play購買)中獲取應用程序副本(LVL已集成並上載/在Google Play中發佈)並嘗試將其安裝到他的設備上(與Google播放安裝在該設備上的客戶端應用程序),在這種情況下,LicenseCheckerCallback將轉到dontAllow()而不是applicationError(ApplicationErrorCode errorCode)。
優秀的答案!謝謝。 – l33t
似乎這個錯誤不是強制性的。我已經開發了兩年多的應用程序,而且我在使用ICS的SamsungGalaxy S2上運行我的應用程序時只看到了這個錯誤。 – slott
明智的回答這個,絕對精彩,很多人認爲。 – Soham