java.lang.IllegalStateException: Could not execute method


  1. GaryDoo

    GaryDoo Member

    Hi,

    I'm not very experienced in Android and I've taken over someone else's work and have been asked to implement in billing v3.

    I have debugged the code and have located the issue here

    [HIGH]//IF THE BUTTON IS VISIBLE, AND CLICKED, PURCHASE CALCULATOR
    public void unlockCalculators(View v) {
    String payload = "";
    mHelper.launchPurchaseFlow(this, SKU_riskCalc, RC_REQUEST,
    mPurchaseFinishedListener, payload); <---- LINE 250
    Log.d("BP_EXPERT", "PURCHASE RISK CALC");

    }[/HIGH]

    Here is where the mPurchasedListener is defined

    [HIGH] IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener()
    {
    @Override
    public void onIabPurchaseFinished(IabResult result, Purchase purchase)
    {
    Log.d(TAG, "Purchase finished: " + result + ", purchase: " + purchase);
    if (result.isFailure()) {
    complain("Error purchasing: " + result);
    }
    if (!verifyDeveloperPayload(purchase)) {
    complain("Error purchasing. Authenticity verification failed.");
    return;

    }
    else if (purchase.getSku().equals(SKU_riskCalc)){

    //UPDATE SHARED PREFERENCES HERE...
    SharedPreferences prefs = getSharedPreferences("BloodPressure",MODE_PRIVATE);
    SharedPreferences.Editor edit = prefs.edit();
    edit.putBoolean("purchased_calcs", true);
    edit.commit();
    Log.d("BP_EXPERT", "PURCHASING RISK CALC");
    //SELECT CORRECT LAYOUT AFTER PURCHASE
    createStuff();
    }
    else if (purchase.getSku().equals(SKU_all)){

    //UPDATE SHARED PREFERENCES HERE...
    SharedPreferences prefs = getSharedPreferences("BloodPressure",MODE_PRIVATE);
    SharedPreferences.Editor edit = prefs.edit();
    edit.putBoolean("purchased_all", true);
    edit.commit();
    Log.d("BP_EXPERT", "PURCHASING ALL CONTENT");
    //SELECT CORRECT LAYOUT AFTER PURCHASE
    createStuff();
    }
    Log.d(TAG, "Purchase successful.");
    }
    };
    [/HIGH]


    When the app enters the launch purchase flow is when its forced closed. If anyone has any ideas as to what might be the problem I'd really appreciate it.
    I've come across this problem, I'm not quite sure what is causing it, when I click on the button I get the following in my logcat

    [HIGH]7-09 11:48:14.495: E/AndroidRuntime(1702): FATAL EXCEPTION: main
    07-09 11:48:14.495: E/AndroidRuntime(1702): java.lang.IllegalStateException: Could not execute method of the activity
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.view.View$1.onClick(View.java:2072)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.view.View.performClick(View.java:2408)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.view.View$PerformClick.run(View.java:8817)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.os.Handler.handleCallback(Handler.java:587)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.os.Handler.dispatchMessage(Handler.java:92)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.os.Looper.loop(Looper.java:144)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.app.ActivityThread.main(ActivityThread.java:4937)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at java.lang.reflect.Method.invokeNative(Native Method)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at java.lang.reflect.Method.invoke(Method.java:521)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at dalvik.system.NativeStart.main(Native Method)
    07-09 11:48:14.495: E/AndroidRuntime(1702): Caused by: java.lang.reflect.InvocationTargetException
    07-09 11:48:14.495: E/AndroidRuntime(1702): at com.bpxpert.bloodpressure.CalculatorRisk.unlockCalculators(CalculatorRisk.java:250)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at java.lang.reflect.Method.invokeNative(Native Method)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at java.lang.reflect.Method.invoke(Method.java:521)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.view.View$1.onClick(View.java:2067)
    07-09 11:48:14.495: E/AndroidRuntime(1702): ... 11 more
    07-09 11:48:14.495: E/AndroidRuntime(1702): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@462b6c10 is not valid; is your activity running?
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.view.ViewRoot.setView(ViewRoot.java:509)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.view.Window$LocalWindowManager.addView(Window.java:424)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at android.app.Dialog.show(Dialog.java:241)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at com.bpxpert.bloodpressure.CalculatorRisk.alert(CalculatorRisk.java:382)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at com.bpxpert.bloodpressure.CalculatorRisk.complain(CalculatorRisk.java:374)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at com.bpxpert.bloodpressure.CalculatorRisk$3.onIabPurchaseFinished(CalculatorRisk.java:277)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at com.bpxpert.bloodpressure.util.IabHelper.launchPurchaseFlow(IabHelper.java:376)
    07-09 11:48:14.495: E/AndroidRuntime(1702): at com.bpxpert.bloodpressure.util.IabHelper.launchPurchaseFlow(IabHelper.java:324)
    07-09 11:48:14.495: E/AndroidRuntime(1702): ... 15 more
    07-09 11:48:14.505: W/ActivityManager(105): Force finishing activity com.bpxpert.bloodpressure/.BloodPressureActivity[/HIGH]


    Thanks in advance!

    Advertisement

Share This Page