2016-07-27 59 views
0

我想我越来越接近我的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并简单地启动应用程序。

任何指针,我如何能更好地处理这将不胜感激。

回答

0

我跑过这个链接,并认为我会传递它。我遇到了几个严重的障碍,试图通过许可证文件和示例,无疑是由于我缺乏知识,而不是信息。如果在Android和Java的学习阶段还有其他人,这可能有助于提供一个非常清晰和简明的示例,说明如何设置许可和测试。

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

我有这个例子中,唯一的问题是作者怎么没来获取和接收来自主活动信息的文本观点和意图。我没有在一行中完成它们(这对我不起作用),而是在我的课程中创建了引用,然后在我的onCreate中使用它们。

这帮了我很多,所以我想我会把它传递下去。