2016-07-27 103 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中使用它們。

這幫了我很多,所以我想我會把它傳遞下去。