2

私の元同僚は、バックグラウンドで音楽を再生するサービスを開発しました。ただし、ユーザーがプログラムを終了したい場合、アプリケーションは以下のコードを呼び出してサービスを停止します。サービスは停止しますが、onDestroy メソッドをオーバーライドしている間は処理できません

    Activity realAct = context.getParent();
    if (realAct == null) {
        realAct = context;
    }
    ContextWrapper cw = new ContextWrapper(realAct);

    cw.stopService(new Intent(cw, MyPlayerService.class));

編集: 簡単に言うと、Activity Main は Activity Sub を開始し、Activity Sub は Service を開始します。次に、戻るボタンを押して、Activity Sub を終了します。アクティビティ メインにいるときは、上記の stopservice コードを呼び出します。そのため、 Service の onDestroy メソッドは呼び出されません

4

2 に答える 2

0

サービスのコードでそのようなメソッドをもう一度使用してみてください:

@Override
public void onDestroy()
{
super.onDestroy();
//your code
}

それは動作する必要があります!

于 2013-07-29T06:48:20.320 に答える