시뮬레이터로 실행중에 홈버튼이나 뒤로가기 버튼을 누르면 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창이 뜨면서 일시정지 시키

 

고 싶습니다. 도움 부탁드립니다.