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 に答える