Android:是什么让我的应用程序崩溃?

时间:2012-01-16 07:49:33

标签: java android crash report nullpointerexception

我每天都收到一些错误,我不确定发生了什么。

如果需要更多信息,请告知我们。

我可能没有提供足够的信息。

以下是我在开发者控制台中收到的错误:

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();

}
}

BillingHelper中的StopService方法

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

有人在其中一个崩溃报告评论中提到该应用甚至没有打开。更多信息是它使用共享首选项在计算器中保存数字。还有一个使用应用内结算服务的捐款按钮。

1 个答案:

答案 0 :(得分:2)

将其更改为调用super.onDestroy();首先,然后是其他东西,例如:

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