Android: что вызывает сбой моего приложения? - PullRequest
1 голос
/ 16 января 2012

Я получаю несколько ошибок в день, и я не уверен, что происходит.

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

Я, вероятно, не дал достаточно информации для чего-либо.

Вот ошибка, которую я получаю в консоли разработчика:

java.lang.RuntimeException: Unable to destroy activity {com.Calculator.SalesTaxCalculator/com.Calculator.SalesTaxCalculator.Calculator}: java.lang.NullPointerException
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3199)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3264)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3380)
at android.app.ActivityThread.access$1600(ActivityThread.java:145)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1049)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:150)
at android.app.ActivityThread.main(ActivityThread.java:4369)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:846)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:604)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.content.ComponentName.<init>(ComponentName.java:75)
at android.content.Intent.<init>(Intent.java:2920)
at com.Calculator.SalesTaxCalculator.BillingHelper.stopService(BillingHelper.java:265)
at com.Calculator.SalesTaxCalculator.Calculator.onDestroy(Calculator.java:302)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3181)
... 12 more

Строка 302

protected void onDestroy() {

Из строки 301 и далее (это последний набор кода на этой странице.)

@Override
protected void onDestroy() {
    BillingHelper.stopService();
    super.onDestroy();

}
}

Метод StopService в BillingHelper

public static void stopService(){
                mContext.stopService(new Intent(mContext, BillingService.class));
                mService = null;
                mContext = null;
                mCompletedHandler = null;
                Log.i(TAG, "Stopping Service");
        }
}

Кто-то добавил в один из комментариев отчета о сбое, что приложение даже не открывается. Еще немного информации о том, что он использует общие настройки для сохранения чисел в калькуляторе. Также есть кнопка для пожертвований, которая использует сервис биллинга в приложении.

1 Ответ

2 голосов
/ 16 января 2012

измените его, чтобы вызвать super.onDestroy (); сначала и затем другие вещи, например:

@Override
protected void onDestroy() {
    super.onDestroy();
    BillingHelper.stopService();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...