我正在开发一款适用于Android的应用程序,我希望它在您按主页按钮(onPause)时暂停音乐。这很好,但是当我尝试再次启动游戏时,onResume,onRestart,onStart,onRestoreInstanceState和onCreate永远不会被调用,它告诉我应用程序没有响应。 LogCat中没有显示异常...所以我不知道发生了什么。有没有人有任何建议,为什么这可能是这种情况?Android onResume不叫
CNC中 我做在logcat中得到这个错误,当应用程序暂停:
04-16 20:09:32.659:ERROR/ActivityManager(66):原因:广播意向{ACT =机器人.intent.action.CLOSE_SYSTEM_DIALOGS CMP = com.android.settings/.widget.SettingsAppWidgetProvider(具有额外)}
我的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:
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();
发布您的onPause()代码以及与设置它所操作的对象有关的任何其他内容。 – Squonk 2011-04-16 20:24:58