我想我越来越接近我的Android应用授权之旅,但相信我错过了这里的一个关键部分。我正在使用下面显示的代码使用可能非常简单的许可检查。仍然缺少一些Android授权
if (isFinishing()) {
// Don't update UI if Activity is finishing.
return;
}
if (policyReason == Policy.LICENSED){
// Handle licensed
}
if (policyReason == Policy.NOT_LICENSED){
// Handle not licensed
}
if (policyReason == Policy.RETRY){
// handle retry
}
我可以使用开发者网站上的测试部分与我的测试帐户和它的作品我究竟是怎么样提供我选择第4个选项。
- 回应正常
- 未获得许可
- 许可
- 旧许可
如果我选择的错误之一,它匹配的方法在我的MainActivity,但在同一时间,直接进入我的应用程序。
public void applicationError(int 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.
Toast.makeText(getApplicationContext(), String.valueOf(errorCode), Toast.LENGTH_LONG).show();
//appLicenseError = errorCode;
}
我在这里的假设是,这一切都发生在与POLICY.NOT_LICENSED结合,但显然我失去了一些东西。
我在我的MainActivity onCreate方法中有doCheck(),所以这是发生的第一件事。它看起来像下面两个回调事件发生的唯一时间是返回前4个许可选项之一,而不是错误代码。
公共无效允许(INT policyReason){...
公共无效dontAllow(INT policyReason){
我想我的理解阅读文档后,如果发生错误,如错误3 “没有市场管理”,这将遵循非许可的路径,并阻止我的应用程序完全启动。但是,这似乎只会导致发生错误回调,然后返回到我的onCreate并简单地启动应用程序。
任何指针,我如何能更好地处理这将不胜感激。