我认为我越来越接近我的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中的方法,但同时,lauches直接进入我的应用程序。
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个许可选项之一,而不是错误代码。
public void allow(int policyReason){...
public void dontAllow(int policyReason){
我想在阅读文档后我的理解是,如果发生错误,例如错误3"不是市场管理"这将遵循非许可的路径,并阻止我的应用程序完全启动。但是,这似乎导致错误回调发生,然后它返回到我的onCreate并简单地启动应用程序。
关于如何更好地处理这个问题的任何指示都将非常感激。
答案 0 :(得分:0)
我跑过这个链接,以为我会传递它。我试图通过许可文档和示例来处理几个严重的障碍,毫无疑问是由于我缺乏知识,而不是信息。如果还有其他人仍处于Android和Java的学习阶段,这可能有助于提供一个非常简洁明了的如何设置许可和测试的示例。
http://www.dummies.com/how-to/content/about-app-licensing.html
我对此示例的唯一问题是作者如何执行文本视图以及Intent如何从主要活动获取和接收信息。我没有在一行中做这些(对我来说没有用),而是在我的班级中创建了引用,然后在我的onCreate中使用它们。
这对我帮助很大,所以我以为我会把它传给你。