0
Я получаю следующее исключение:Google IAB помощник bindService аварии
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{myapppackage2/myapppackage.ui.MainActivity}: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.android.vending.billing.InAppBillingService.BIND }
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)
at android.app.ActivityThread.access$800(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
at android.os.Handler.dispatchMessage(Handler.java)
at android.os.Looper.loop(Looper.java)
at android.app.ActivityThread.main(ActivityThread.java)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
Caused by java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.android.vending.billing.InAppBillingService.BIND }
at android.app.ContextImpl.validateServiceIntent(ContextImpl.java)
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java)
at android.app.ContextImpl.bindService(ContextImpl.java)
at android.content.ContextWrapper.bindService(ContextWrapper.java)
at com.android.vending.billing.util.IabHelper.doBindService(IabHelper.java:277)
at com.android.vending.billing.util.IabHelper.startSetup(IabHelper.java:268)
at myapppackage.feature.FeaturesManager.initBilling(FeaturesManager.java:79)
at myapppackage.ui.MainActivity.onCreate(MainActivity.java:374)
at android.app.Activity.performCreate(Activity.java)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)
at android.app.ActivityThread.access$800(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
at android.os.Handler.dispatchMessage(Handler.java)
at android.os.Looper.loop(Looper.java)
at android.app.ActivityThread.main(ActivityThread.java)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
я уже гугле немного и нашел я должен добавить serviceIntent.setPackage("com.android.vending");
но проблема в том, что я уже имея его:
Intent serviceIntent = new Intent("com.android.vending.billing.InAppBillingService.BIND");
serviceIntent.setPackage("com.android.vending");
List<ResolveInfo> resolveInfos = mContext.getPackageManager().queryIntentServices(serviceIntent, 0);
if (resolveInfos != null && !resolveInfos.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."));
}
}
xiaomi mi-4c, android 5.1.1, корень.
Любые мысли?
это не объяснение, но walkaround. Любая идея о корневой причине? – 4ntoine
ответ обновлен. –
, пожалуйста, обратитесь к этой ссылке для основной причины. Http://stackoverflow.com/questions/27981246/dealing-with-implicit-intent-future-deprecation-in-lollipop –