0

我已经实现了一个播放器服务,我在播放音乐时关闭应用程序,然后在调用 onDestroy 服务时应用程序崩溃和手机重新启动。我该如何解决这个问题?

@Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        if (!PlayerServices.mp.isPlaying()) {
            stopService(playerService);
            cancelNotification();
        }
    }

谢谢

4

2 回答 2

1

把你的代码顺序改成:</p>

@Override
public void onDestroy() {
    // TODO Auto-generated method stub
    if (!PlayerServices.mp.isPlaying()) {
        stopService(playerService);
        cancelNotification();
    }
    super.onDestroy();
}

最后调用 super.onDestroy()。

于 2013-07-26T22:32:07.713 回答
-2

你永远不应该为任何事情调用 super.onDestroy()。在这种特殊情况下,您正在破坏服务,然后试图停止它,这是没有意义的。您还应该查看您的 logCat 输出,以使自己确信这是真的。

一般来说,如果一个生命周期方法希望你调用你子类化的基类的方法,javadoc 会这样说。例如,看一下 Activity.onPause()。

于 2013-07-26T22:33:11.157 回答