El intento de servicio debe ser explícito: Intent {act = com.android.vending.billing.InAppBillingService.BIND}
Estoy recibiendo la excepción de intención explícita en algunos dispositivos 5.0 sin embargo mi código ya tiene la intención explícita y se ve así:
Intent serviceIntent = new Intent("com.android.vending.billing.InAppBillingService.BIND"); serviceIntent.setPackage("com.android.vending"); PackageManager pm=mContext.getPackageManager(); List<ResolveInfo> intentServices = pm.queryIntentServices(serviceIntent, 0); if (intentServices != null && !intentServices.isEmpty()){ //this was replaced per this comment http://stackoverflow.com/a/24202135/704836 //if (!mContext.getPackageManager().queryIntentServices(serviceIntent, 0).isEmpty()) { // service available to handle that Intent mContext.bindService(serviceIntent, mServiceConn, Context.BIND_AUTO_CREATE); } else { // no service available to handle that Intent if (listener != null) { listener.onIabSetupFinished( new IabResult(BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE, "Billing service unavailable on device.")); } }
La excepción que estoy recibiendo es la siguiente:
- ¿En qué condiciones se aplican los cambios de servidor de versión 3 de facturación en la aplicación disponibles en los dispositivos cliente?
- ¿Dónde restaura los usuarios en las compras de la aplicación?
- Android: inApp confirmación de recibo de compra google play
- ¿Cuándo iniciar y detener el servicio de facturación en la aplicación?
- Cómo cambiar el mensaje de brindis que aparece después de la compra exitosa de un producto en la facturación en la aplicación
Non-fatal Exception: java.lang.IllegalArgumentException Service Intent must be explicit: Intent { act=com.android.vending.billing.InAppBillingService.BIND } android.app.ContextImpl.validateServiceIntent (ContextImpl.java:1681) android.content.ContextWrapper.bindService (ContextWrapper.java:538) IabHelper.startSetup (IabHelper.java:272) MyApp.createIABHelper (MyApp.java:256) MyApp.onCreate (MyApp.java:156) android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1011) android.app.ActivityThread.handleBindApplication (ActivityThread.java:4520) android.app.ActivityThread.access$1500 (ActivityThread.java:144) android.app.ActivityThread$H.handleMessage (ActivityThread.java:1339) android.os.Looper.loop (Looper.java:135) android.app.ActivityThread.main (ActivityThread.java:5223) java.lang.reflect.Method.invoke (Method.java) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:693)
No estoy seguro de lo que estoy haciendo mal, cada búsqueda que hago viene con serviceIntent.setPackage("com.android.vending");
como la corrección, pero mi código ya tiene eso.
Gracias.
- Android IAB Error - Se requiere autenticación
- No se puede cambiar la moneda predeterminada para la facturación en la aplicación
- ¿Es posible detectar de forma fiable en tiempo de ejecución qué tienda instaló una aplicación de Android (Google Play o Amazon Market)?
- Verificación de la firma en el mensaje de compra en la aplicación de Android en Python en Google App Engine
- Retardo de propagación al cambiar el precio y la descripción del producto en la aplicación en la consola de Google Play para desarrolladores
- Cómo detectar el estado de la compra en la aplicación en el método de resultado de la actividad
- Cómo implementar la restauración si desinstalo e instalo la aplicación de nuevo
- Implementación en compras de aplicaciones en Android?
Trate de obtener la última com.android.vending.billing.utils de sitio oficial, debe ser capaz de solucionar el problema.
http://developer.android.com/training/in-app-billing/preparing-iab-app.html#GetSample
- No hay animación en el elemento RecyclerView seleccione Android
- Android "Tratar de pausar cuando la pausa ya está pendiente"