Tôi đang cố gắng để dịch vụ thanh toán trong ứng dụng của Google hoạt động.Android Trong ứng dụng Thanh toán bảo mậtException "Binder invocation đến một giao diện không chính xác"
Tôi đã có cho đến nay mà các dịch vụ này được ràng buộc và kết nối, nhưng một khi tôi cố gắng để lấy một số dữ liệu từ dịch vụ nó bị treo với các bản ghi:
04-02 10:36:32.795 10569-10651/my.app.package E/IAP﹕ java.lang.SecurityException: Binder invocation to an incorrect interface
at android.os.Parcel.readException(Parcel.java:1425)
at android.os.Parcel.readException(Parcel.java:1379)
at billing.IInAppBillingService$Stub$Proxy.getSkuDetails(IInAppBillingService.java:251)
at my.app.package.libs.clientbackend.iap.IAPHelper$FetchItemsCallable.call(IAPHelper.java:102)
at my.app.package.libs.clientbackend.iap.IAPHelper$FetchItemsCallable.call(IAPHelper.java:89)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
Đây là mã của tôi cho đến nay:
các hoạt động cho thấy Purchases:
Intent serviceIntent = new Intent("com.android.vending.billing.InAppBillingService.BIND");
serviceIntent.setPackage("com.android.vending");
bindService(serviceIntent, this, Context.BIND_AUTO_CREATE);
các cuộc gọi IAB một khi dịch vụ đã kết nối:
Bundle itemBundle = new Bundle();
itemBundle.putStringArrayList("ITEM_ID_LIST", new ArrayList<>(Arrays.asList(itemIds)));
Bundle detailsBundle = service
.getSkuDetails(3, context.getPackageName(), "inapp", itemBundle);
Lỗi trên dòng cuối cùng ...getSkuDetails(...
với lỗi được đăng ở trên.
Tôi đã nghiên cứu về vấn đề này và nhận thấy rằng có thể do tên gói sai. Tôi đã bao gồm IInAppBillingService.aidl
như nó được mô tả trên hồ sơ của google nhưng tôi vẫn nhận được một gói sai về nhập khẩu:
Các tập tin là tại địa chỉ: src/main/aidl/com/android/vending/billing/IInAppBillingService.aidl
Nhưng khi tôi đang nhập khẩu các lớp được tạo ra Android Studio sử dụng nhập khẩu này đường dẫn:
import billing.IInAppBillingService;
Theo tài liệu này thực sự cần được:
import com.android.vending.billing.IInAppBillingService;
Is vẫn còn một cái gì đó sai với thiết lập dự án của tôi hoặc không ai biết nguyên nhân của lỗi này?
nhiều cảm ơn trước, McFarlane
là nó hoạt động ....? –
vâng, nó là .....! –
cảm ơn .......................! – Saveen