2013-05-31 2 views
1

인앱 결제 기능이있는 ndroid 애플리케이션이 있습니다. 구독하고 싶습니다. 나는 Google 견본을 본다. 신청서에 청구서를 소개했습니다. 나는 하나의 물건을 구입한다. 그러나 나는 문제가있다. 나는 '구매'버튼을 클릭합니다.이 의도를 닫은 ​​후 (텍스트 :이 항목을 소유하고 있습니다. 확인을 클릭합니다.)이 버튼을 다시 클릭하려는 경우 애플리케이션이 눌립니다.Android 결제 -이 항목을 소유하고있는 오류

logs

이 항목의 소유자입니다. 제에서

05-31 19:02:10.416: D/Finsky(3313): [1]CarrierParamsAction.createCarrierBillingParameters: Carrier billing config is null. Device is not targeted for DCB 2. 
05-31 19:02:10.436: I/SurfaceFlinger(1705): id=170(12) createSurface 0x3d364 (1x1),1 flag=0 
05-31 19:02:10.441: E/Finsky(3313): [237] FileBasedKeyValueStore.delete: Attempt to delete 'paramspt_jJJW_8KK4rjjCyMt7_w' failed! 
05-31 19:02:10.456: D/dalvikvm(3313): GC_CONCURRENT freed 1269K, 11% free 15726K/17607K, paused 13ms+7ms 
05-31 19:02:10.471: I/ClipboardServiceEx(1865): mCBPickerDialog enter case. MSG_DISMISS_DIALOG 
05-31 19:02:10.471: D/CLIPBOARD(14751): Hide Clipboard dialog at Starting input: finished by someone else... ! 
05-31 19:02:10.476: I/ClipboardServiceEx(1865): mCBPickerDialog enter case. MSG_DISMISS_DIALOG 
05-31 19:02:10.491: I/ActivityManager(1865): Displayed shortComponentName: +165ms 
05-31 19:02:10.726: I/power(1865): *** release_dvfs_lock : lockType : 1 
05-31 19:02:10.726: D/PowerManagerService(1865): releaseDVFSLockLocked : all DVFS_MIN_LIMIT are released 
05-31 19:02:10.726: W/ActivityManager(1865): mDVFSLock.release() 

내가가 activityResult이

05-31 19:08:43.331: W/System.err(15461): java.lang.IllegalStateException: Can't start async operation (launchPurchaseFlow) because another async operation(launchPurchaseFlow) is in progress. 
05-31 19:08:43.331: W/System.err(15461): at com.market.IabHelper.flagStartAsync(IabHelper.java:725) 
05-31 19:08:43.331: W/System.err(15461): at com.market.IabHelper.launchPurchaseFlow(IabHelper.java:289) 
05-31 19:08:43.331: W/System.err(15461): at com.crystalreality.crystaltv.BillingActivity.performPurchaseSubscription(BillingActivity.java:65) 
05-31 19:08:43.331: W/System.err(15461): at dalvik.system.NativeStart.run(Native Method) 

을 클릭하지만 코드

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     Log.d(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," + data); 
     if(requestCode == 0) { 
      finish(); 
     } 

     // Pass on the activity result to the helper for handling 
     if (!mHelper.handleActivityResult(requestCode, resultCode, data)) { 
      // not handled, so handle it ourselves (here's where you'd 
      // perform any handling of activity results not related to in-app 
      // billing... 
      super.onActivityResult(requestCode, resultCode, data); 
     } 
     else { 
      Log.d(TAG, "onActivityResult handled by IABUtil."); 
     } 
    } 

purchaseFlow 샘플에서 코드 실행하지. 어떻게 해결할 수 있습니까?

답변

6

인앱 결제 IabHelper 클래스의 버그입니다 (즉, 내 잘못 :-)). 에서 (버그 수정) 업데이트 된 샘플을 다운로드하십시오 :

http://code.google.com/p/marketbilling/

은 SDK 관리자의 버전은 순간 구식 조금하고 최신 버그 수정이 포함되어 있지 않습니다.

+0

샘플을 다운로드하십시오. 그것은 작동합니다. 브루노, 만약 내가 2 활동 (네이티브 (C + +) 및 평소 (자바와 iabhelper), 어떻게 네이티브 활동에서 purhaseflow 전화 수 있습니다. C++에서 일반적인 활동 (jni 사용) 메서드를 호출,이 메서드 호출 purchaseflow .. 내 애플 리케이션 오류가 지속됩니다 –

+0

만약 내가 할 수 있다면 당신에게 키스 것, @ 브루노 !! 지난 2 일 동안 내 머리를 긁적 내 구입 한 구독이 나열되지 않은 이유를 알아 내려고했습니다. 링크 된 새 코드로 업데이트되어 현재 잘 작동합니다. 정말 고맙습니다! –