PDA

View Full Version : مفهوم این خطا چیست؟کلاس IabHelper کافه بازار



langargostar
چهارشنبه 10 آذر 1395, 00:19 صبح
Intent serviceIntent = new Intent("ir.cafebazaar.pardakht.InAppBillingService.BIND");
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_UNAVAILA BLE,
"Billing service unavailable on device."));
}
}

وقتی که با شبیه ساز اجرا می گیرم بدون هیچ موردی اجرا گرفته می شه.
اما وقتی که با گوشی اجرا می گیرم خط چهارم myContext.bindService خطا می دهد و باعث خارج شدن از برنامه می شود.
مشکل از چیه؟

اینم MONITORING :
11-29 23:46:52.190 10704-10704/com.t_shirt_football.t_shirt_football D/ViewRootImpl: #1 mView = com.android.internal.policy.PhoneWindow$DecorView{ 6a7d02 I.E...... R.....ID 0,0-0,0}
11-29 23:46:52.190 10704-10704/com.t_shirt_football.t_shirt_football I/Choreographer: Skipped 36 frames! The application may be doing too much work on its main thread.
11-29 23:46:52.220 10704-10756/com.t_shirt_football.t_shirt_football D/mali_winsys: new_window_surface returns 0x3000, [1080x1920]-format:1
11-29 23:46:52.320 10704-10704/com.t_shirt_football.t_shirt_football D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 72 - 0, 0) vi=Rect(0, 72 - 0, 0) or=1
11-29 23:46:53.910 10704-10704/com.t_shirt_football.t_shirt_football D/ViewRootImpl: ViewPostImeInputStage processPointer 0
11-29 23:46:53.980 10704-10704/com.t_shirt_football.t_shirt_football D/ViewRootImpl: ViewPostImeInputStage processPointer 1
11-29 23:46:54.030 10704-10704/com.t_shirt_football.t_shirt_football D/ViewRootImpl: #1 mView = com.android.internal.policy.PhoneWindow$DecorView{ 628d35f V.E...... R.....I. 0,0-0,0}
11-29 23:46:54.070 10704-10756/com.t_shirt_football.t_shirt_football D/mali_winsys: new_window_surface returns 0x3000, [1194x628]-format:1
11-29 23:46:54.120 10704-10704/com.t_shirt_football.t_shirt_football D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
11-29 23:46:55.000 10704-10704/com.t_shirt_football.t_shirt_football D/ViewRootImpl: ViewPostImeInputStage processPointer 0
11-29 23:46:55.110 10704-10704/com.t_shirt_football.t_shirt_football D/ViewRootImpl: ViewPostImeInputStage processPointer 1
11-29 23:46:55.160 10704-10704/com.t_shirt_football.t_shirt_football D/AndroidRuntime: Shutting down VM
11-29 23:46:55.160 10704-10704/com.t_shirt_football.t_shirt_football E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.t_shirt_football.t_shirt_football, PID: 10704
java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=ir.cafebazaar.pardakht.InAppBillingService.BIN D VirtualScreenParam=Params{mDisplayId=-1, null, mFlags=0x00000000)} }
at android.app.ContextImpl.validateServiceIntent(Cont extImpl.java:1308)
at android.app.ContextImpl.bindServiceCommon(ContextI mpl.java:1440)
at android.app.ContextImpl.bindService(ContextImpl.ja va:1418)
at android.content.ContextWrapper.bindService(Context Wrapper.java:632)
at com.t_shirt_football.t_shirt_football.util.IabHelp er.startSetup(IabHelper.java:262)
at com.t_shirt_football.t_shirt_football.player.imgba ll_btn_pay(player.java:177)
at com.t_shirt_football.t_shirt_football.player.acces s$1900(player.java:55)
at com.t_shirt_football.t_shirt_football.player$14.on Click(player.java:973)
at com.android.internal.app.AlertController$ButtonHan dler.handleMessage(AlertController.java:174)
at android.os.Handler.dispatchMessage(Handler.java:10 2)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.jav a:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:1120)

spiderman200700
چهارشنبه 10 آذر 1395, 11:00 صبح
شما باید بعد از این خط:
Intent serviceIntent = new Intent("ir.cafebazaar.pardakht.InAppBillingService.BI ND");

این خط رو اضافه کنی:
serviceIntent.setPackage("com.farsitel.bazaar");

langargostar
چهارشنبه 10 آذر 1395, 20:18 عصر
دوست عزیز خط کد رو اضافه کردم درست شد.مرسی.:تشویق: