시뮬레이터로 실행중에 홈버튼이나 뒤로가기 버튼을 누르면 Sorry 가 뜨면서 강제 종료됬다고 나옵니다.
만약 뒤로 가기나 홈버튼을 눌럿을경우에 강제종료가 되지않고 다시 어플을 켯을때 Resume 같은 화면이 뜨게 하려면 어떻게 해야하나요??
로그는 이렇습니다.
11-04 13:46:46.005: DEBUG/dalvikvm(133): GC_EXPLICIT freed 137K, 52% free 2901K/5959K, external 5945K/7371K, paused 57ms
11-04 13:46:49.865: INFO/ActivityManager(70): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.android.launcher/com.android.launcher2.Launcher } from pid 70
11-04 13:46:50.395: WARN/System.err(391): java.lang.InterruptedException
11-04 13:46:50.395: WARN/System.err(391): at java.lang.VMThread.sleep(Native Method)
11-04 13:46:50.395: WARN/System.err(391): at java.lang.Thread.sleep(Thread.java:1213)
11-04 13:46:50.395: WARN/System.err(391): at java.lang.Thread.sleep(Thread.java:1195)
11-04 13:46:50.395: WARN/System.err(391): at com.android.game.GameView.run(GameView.java:105)
11-04 13:46:50.395: WARN/System.err(391): at java.lang.Thread.run(Thread.java:1019)
11-04 13:46:50.755: WARN/dalvikvm(391): threadid=9: thread exiting with uncaught exception (group=0x40015560)
11-04 13:46:50.765: ERROR/AndroidRuntime(391): FATAL EXCEPTION: Thread-10
11-04 13:46:50.765: ERROR/AndroidRuntime(391): java.lang.NullPointerException
11-04 13:46:50.765: ERROR/AndroidRuntime(391): at com.android.game.GameView.doDraw(GameView.java:125)
11-04 13:46:50.765: ERROR/AndroidRuntime(391): at com.android.game.GameView.run(GameView.java:104)
11-04 13:46:50.765: ERROR/AndroidRuntime(391): at java.lang.Thread.run(Thread.java:1019)
Handler h;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
h = new Handler();
h.postDelayed(irun, 4000); }
Runnable irun = new Runnable()
{
public void run()
{
Intent i = new Intent(Activity.this, Sub_introActivity.class);
startActivity(i);
finish();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
};
public void onBackPressed()
{
super.onBackPressed();
h.removeCallbacks(irun);
}이게 첫번째 액티비티입니다. 살짝 사진하나를 보여준후에 다음 타이틀 액티비티로 전환됩니다.
public class Sub_introActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.subintro);
Button buttonStart = (Button)findViewById(R.id.Bt_Start);
buttonStart.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
setContentView(R.layout.game);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
}
});
}
}이게 타이틀 화면 액티비티인데 setContentView를 저런식으로 사용했는데
이런식으로 쓰면 이전화면은 어떻게 처리되나요??
그리고 저 R.layout.game 부분은 SurfaceView 부분입니다.
액티비티가 아니라서 intent로 넘길수 없어서 저런식으로 했는데 다른방법이 혹시 있을까요?
그리고 본 질문인 이런 구조에서 게임이 시작되거나 타이틀 화면에서 홈버튼이나 뒤로가기 버튼을 눌럿을경우 강제 종료되는데
타이틀화면에서 눌럿을경우 다시 들어오면 그냥 타이틀 화면이 나오고, 게임화면에서 눌럿을 경우에는 Resume창이 뜨면서 일시정지 시키
고 싶습니다. 도움 부탁드립니다.



