2015-02-06 93 views
0

由於我已將手機更新爲Android的棒棒糖版本,因此我的應用程序在嘗試檢查Google許可證時發生崩潰(致電checkAccess)。錯誤消息是:檢查Lollipop中的許可證時應用程序崩潰

「java.lang.IllegalArgumentException:服務意圖必須是顯式的:Intent {act = com.android.vending.licensing.ILicenseService」。

我使用的代碼是:

myLicenseChecker=new LicenseChecker(myActivity,new ServerManagedPolicy(myActivity,new AESObfuscator(salt,myActivity.getPackageName(),identificationMatériel)),myPublicKey); 
myResponseAnalyzer=new MyResponseAnalyzer(); 
myLicenseChecker.checkAccess(myResponseAnalyzer); 

我已經添加在清單文件中的「com.android.vending.CHECK_LICENSE」權限,但它有完全沒有效果。

什麼可能是生成的錯誤的原因?

+0

[谷歌的可能重複的應用程式billing,IllegalArgumentException:在升級到Android L Dev Preview之後,Service Intent必須是顯式的(http://stackoverflow.com/questions/24480069/google-in-app-billing-illeg alargumentexception服務意圖,必須待明確) – rds 2015-08-14 18:48:11

回答

1

這是一個已知的授權庫錯誤。

報告解決方案:

正如我放了幾個小時前的問題1674年,另一種可行的解決方案是:

Intent serviceIntent = new Intent(
     new String(Base64.decode("Y29tLmFuZHJvaWQudmVuZGluZy5saWNlbnNpbmcuSUxpY2Vuc2luZ1NlcnZpY2U="))); 
     serviceIntent.setPackage("com.android.vending"); 

     boolean bindResult = mContext 
       .bindService(
        serviceIntent, 
        this, // ServiceConnection. 
        Context.BIND_AUTO_CREATE); 

Bug report with solution above.