私はAndroid用のアプリを開発しています.ホームボタンを押すと音楽が一時停止します(onPause)。これで問題なく動作しますが、ゲームを再度起動しようとすると、onResume、onRestart、onStart、onRestoreInstanceState、および onCreate が呼び出されず、アプリケーションが応答していないことがわかります。LogCat に表示される例外はありません...そのため、何が起こっているのかわかりません。なぜこれが当てはまるのかについて、誰か提案はありますか?
-EDIT- アプリケーションが一時停止すると、LogCat に次のエラーが表示されます。
04-16 20:09:32.659: ERROR/ActivityManager(66): 理由: インテントのブロードキャスト
私の onPause() コード:
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 = 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();