2013-07-08 34 views
10

Tôi đang cố gắng thực hiện quy trình mua hàng trong ứng dụng trong ứng dụng của mình. Tôi sử dụng các lớp trợ giúp từ http://developer.android.com/training/in-app-billing/preparing-iab-app.html (IabHelper, v.v.). Mọi thứ đều ổn cho đến khi tôi thanh toán. Khi trở lại hoạt động, ngoại lệ này được nêu raLuồng mua hàng trong ứng dụng Android bị hỏng

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, 
request=10001, result=-1, data=Intent { (has extras) }} to activity 
{com.sunlight.mangomonitor/com.sunlight.mangomonitor.PurchaseActivity}: 
java.lang.IllegalArgumentException: java.security.spec.InvalidKeySpecException: 
java.lang.RuntimeException: error:0D07209B:asn1 encoding routines:ASN1_get_object:too long 
at android.app.ActivityThread.deliverResults(ActivityThread.java:3408) 
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3451) 
at android.app.ActivityThread.access$1200(ActivityThread.java:154) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1332) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:5296) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.IllegalArgumentException: java.security.spec.InvalidKeySpecException: 
java.lang.RuntimeException: error:0D07209B:asn1 encoding routines:ASN1_get_object:too long 
at com.sunlight.mangomonitor.util.Security.generatePublicKey(Security.java:92) 
at com.sunlight.mangomonitor.util.Security.verifyPurchase(Security.java:66) 
at com.sunlight.mangomonitor.util.IabHelper.handleActivityResult(IabHelper.java:460) 
at com.sunlight.mangomonitor.PurchaseActivity.onActivityResult(PurchaseActivity.java:145) 
at android.app.Activity.dispatchActivityResult(Activity.java:5444) 
at android.app.ActivityThread.deliverResults(ActivityThread.java:3404) 
... 11 more 
Caused by: java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: 
error:0D07209B:asn1 encoding routines:ASN1_get_object:too long 
at 
org.apache.harmony.xnet.provider.jsse.OpenSSLRSAKeyFactory.engineGeneratePublic(OpenSSLRSAKeyF actory.java:52) 
at java.security.KeyFactory.generatePublic(KeyFactory.java:171) 
at com.sunlight.mangomonitor.util.Security.generatePublicKey(Security.java:87) 
... 16 more 
Caused by: java.lang.RuntimeException: error:0D07209B:asn1 encoding 
routines:ASN1_get_object:too long 
at org.apache.harmony.xnet.provider.jsse.NativeCrypto.d2i_PUBKEY(Native Method) 
at org.apache.harmony.xnet.provider.jsse.OpenSSLRSAKeyFactory.engineGeneratePublic(OpenSSLRSAKeyfactory.java:48) 

Tôi thấy rằng hoạt động bắt đầu mua hàng có thể bị hủy, tôi nên làm gì trong trường hợp đó? Bất kỳ đề xuất nào?

+0

Không biết chính xác những gì đã xảy ra, nhưng mọi thứ hoạt động tốt ngay bây giờ. Đã chuyển thiết lập của IabHelper mHelper.startSetup (mSetupFinishedListener) từ phương thức tĩnh thành không tĩnh, một số thay đổi không đáng kể khác ... Và đó là nó. Có lẽ nó chỉ cần một thời gian. – Eugene

Trả lời

0

hãy gọi cho hoạt động mua đó bằng cách sử dụng hoạt động gọi điện cho khái niệm kết quả.kiểm tra xem kết quả có tại onActivityResult() chức năng sử dụng RESULT_OKRESULT_CANCELLED để bạn tìm hiểu.

Các vấn đề liên quan