2013-03-27 27 views
44

Tôi vừa phát hành ứng dụng có thanh toán trong ứng dụng. Cho đến nay không có tai nạn đã được báo cáo để google play (điều này chỉ xảy ra khi người dùng có những rắc rối để báo cáo vụ tai nạn) nhưng tôi có một số báo cáo về tai nạn thông qua flurry (đó là tự động). Báo cáo sự cố như sau:Thanh toán trong ứng dụng (v3) - IllegalArgumentException: Dịch vụ chưa được đăng ký:

class java.lang.RuntimeException 
Msg: android.app.ActivityThread.performDestroyActivity:3655 (Unable to destroy activity {com.mycompany.mygame/com.mycompany.mygame.Splashscreen}: java.lang.IllegalArgumentException: Service not registered: [email protected]) 

Điều này chỉ xảy ra trên < 1% số lần thực thi ứng dụng của tôi.

Đúng tôi nếu tôi là sai, nhưng có vẻ như số dòng của vụ tai nạn không được đưa ra trong báo cáo loạt :-(

Tôi thậm chí không chắc chắn những gì báo cáo tai nạn này có nghĩa là, hãy để một mình làm thế nào để sửa chữa nó. Bất cứ ý tưởng?

+0

Tôi có cùng một vấn đề. Nó không phải là một thỏa thuận lớn, nhưng nó là một cái gì đó mà phiền. Tôi tìm thấy một vấn đề tương tự trong github: https://github.com/ianhanniballake/ContractionTimer/commit/b3643e8fd1d59a508fe6764398cb22de671c4cea Bạn có nghĩ rằng điều này có thể là cùng một vấn đề? – gian1200

+0

Lý do tại sao sự cố này xảy ra thường xuyên như vậy là bởi vì nó chỉ có thể được lặp lại khi trình trợ giúp thanh toán InApp không được thiết lập đúng cách. Điều này sẽ chỉ xảy ra trên các thiết bị có phiên bản ứng dụng Google Play rất cũ mà không có ứng dụng Google Play nào (Kindle Fire) – GaRRaPeTa

+0

@GaRRaPeTaAbsolutely true. Chỉ cần tải lên cấp API 16 trên một thiết bị thực, và bùng nổ, bị rơi trên màn hình đầu tiên :) – IcyFlame

Trả lời

106

tôi tin rằng đây là một lỗi trong IabHelper.java.

trong IabHelper vứt bỏ phương pháp, các dòng sau,

  if (mContext != null) mContext.unbindService(mServiceConn); 

nên được thay đổi thành cái này.

  if (mContext != null && mService != null) mContext.unbindService(mServiceConn); 

mService chỉ được đặt khi Dịch vụ đã được đăng ký, trước khi chúng tôi cố gắng hủy liên kết dịch vụ đó.

+18

Toàn bộ IabHelper là cực kỳ lỗi. Nên được thực hiện lại. – tmanthey

+3

@tmanthey: có một số mã không thay thế thay thế mà chúng tôi có thể xem xét thay vào đó không? – Mick

+0

Gần đây tôi đã gặp sự cố tương tự, nhưng mã này trông giống như những gì bạn đã viết. Lam thê nao điêu đo co thể? –

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