시뮬레이터로 실행중에 홈버튼이나 뒤로가기 버튼을 누르면 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창이 뜨면서 일시정지 시키
고 싶습니다. 도움 부탁드립니다.