Я занимаюсь разработкой приложения для Android и хочу, чтобы оно приостанавливало музыку при нажатии кнопки «Домой» (onPause).Это работает нормально, но затем, когда я пытаюсь снова запустить игру, onResume, onRestart, onStart, onRestoreInstanceState и onCreate никогда не вызываются, и это говорит мне, что приложение не отвечает.В LogCat не показано никаких исключений ... Так что я понятия не имею, что происходит.Кто-нибудь есть какие-либо предложения относительно того, почему это может иметь место?
-EDIT- Я получаю эту ошибку в LogCat, когда приложение делает паузу:
04-16 20: 09: 32.659: ОШИБКА / ActivityManager (66): Причина: широковещательная передача намерениякод:
public void onPause() {
super.onPause();
panel.mediaPlayer.pause();
panel.thread.running=false;
}
Основной поток приложения:
public void run() {
running = true;
while(running) {
//new Canvas.
Canvas c = null;
//Update information
update();
//Draw everything to screen
try {
//Gets the canvas from the surfaceHolder.
c = surfaceHolder.lockCanvas(null);
synchronized(surfaceHolder) {
//draw to the canvas
doDraw(c);
try {
Thread.sleep(gameSpeed);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} finally {
if (c != null) {
surfaceHolder.unlockCanvasAndPost(c);
}
}
}
mediaPlayer:
mediaPlayer = new MediaPlayer();
sublime = context.getResources().openRawResourceFd(R.raw.sublime);
try {
mediaPlayer.setLooping(true);
mediaPlayer.setDataSource(sublime.getFileDescriptor(), sublime.getStartOffset(), sublime.getLength());
mediaPlayer.prepare();
} catch (IllegalArgumentException e1) {
} catch (IllegalStateException e1) {
} catch (IOException e1) {
}
mediaPlayer.start();