仍未找到Android许可的内容

时间:2016-07-27 06:11:14

标签: android android-studio

我认为我越来越接近我的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个选项,它可以完全按照我的方式工作。

  • 正常回应
  • 未获得许可
  • 持牌
  • Old Licensed

如果我选择其中一个错误,它会点击我的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并简单地启动应用程序。

关于如何更好地处理这个问题的任何指示都将非常感激。

1 个答案:

答案 0 :(得分:0)

我跑过这个链接,以为我会传递它。我试图通过许可文档和示例来处理几个严重的障碍,毫无疑问是由于我缺乏知识,而不是信息。如果还有其他人仍处于Android和Java的学习阶段,这可能有助于提供一个非常简洁明了的如何设置许可和测试的示例。

http://www.dummies.com/how-to/content/about-app-licensing.html

我对此示例的唯一问题是作者如何执行文本视图以及Intent如何从主要活动获取和接收信息。我没有在一行中做这些(对我来说没有用),而是在我的班级中创建了引用,然后在我的onCreate中使用它们。

这对我帮助很大,所以我以为我会把它传给你。