Операция, запущенная из Сервиса, вызывает onPause слишком рано - PullRequest
0 голосов
/ 22 декабря 2011

Я запускаю действие, которое воспроизводится из MediaPlayer из службы, и оно запускается нормально, но сразу вызывает onPause и уходит.Но если я не добавлю метод onPause () в Activity ... Mediaplayer проигрывается нормально, и представление корректно.Ниже мой код:

Сервис:

import android.content.Intent;
import android.util.Log;

public class ReminderService extends WakeReminderIntentService {

    public ReminderService() {
        super("ReminderService");
            }

    @Override
    void doReminderWork(Intent intent) {
        Log.d("ReminderService", "Doing work.");
        Intent dialogIntent = new Intent(getBaseContext(), TestRec.class);
        dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        getApplication().startActivity(dialogIntent);


    }
}

TestRec.class:

import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.view.Window;
import android.view.WindowManager;

public class TestRec extends Activity {
    MediaPlayer mp;
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);

        requestWindowFeature(android.view.Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main);
         getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED

                    | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD

                    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON

                    | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
                 );

         mp = MediaPlayer.create(this, R.raw.music);
            mp.start();
    }



    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        mp.stop();
                finish();
        }
}

1 Ответ

0 голосов
/ 22 декабря 2011

onPause () вызывается не активностью, а самим андроидом, чтобы указать, что активность потеряла фокус, а другая активность теперь имеет его. Какая активность идет впереди вместо?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...