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:

 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.

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

  • Seguridad de facturación InApp y invocación de métodos remotos
  • Android en la facturación de la aplicación: la compra sigue recibiendo el usuario de la respuesta -1005 cancelado
  • Error en la validación de la firma: compra de aplicaciones en Android
  • En la compra de aplicaciones, aparece el mensaje "ya tienes este elemento" en android
  • Ofrecer recursos multimedia adicionales (gráficos / sonidos) como elementos facturados en la aplicación de Google Play
  • Pruebe la compra inapp con la clave de depuración
  • En el estado gestionado y no administrado de la facturación de aplicaciones para el producto
  • Android: In App Compra transacciones perdidas
  • En la aplicación de facturación V3
  • La opción UnManaged no está disponible en la consola de Google Play para desarrolladores
  • Cómo crear una compra en la aplicación para actualizar la versión gratuita a la versión de pago de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.