0

私のアプリケーションでは、ホームボタンをクリックすると、もう一度アプリを開くと、最初から表示されるはずです。最初のアクティビティとしてスプラッシュ画面が表示されます。アプリを開くと、アプリはスプラッシュ画面から起動するはずです。

         @Override
    public void onAttachedToWindow() {
        super.onAttachedToWindow();
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);           
    }
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

      if(keyCode == KeyEvent.KEYCODE_HOME)
       {
        Log.i("Home Button","Clicked");


        onPause();
       }

   return false;



      }
    protected void onPause() {
         super.onPause(); 
        Intent i=new Intent(H2.this,HomeexampleActivity.class);
        startActivity(i);
        // Start your first Activity as you would normally do

    }

この方法でpauseメソッドをオーバーライドしてみましたが、機能しません。この問題の解決方法を教えてください。

4

4 に答える 4

1

これを試すことができます:

 Boolean hasGone = false;
  @Override
 void onResume() {
  super.onResume();  
  if(hasGone){    
      Intent intent = new Intent(H2.this, HomeexampleActivity.class);
      intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
      startActivity(intent);
  }
 }

 @Override
 void onPause() {
     super.onPause(); 
     hasGone = true;
  }
于 2012-06-12T08:17:50.707 に答える
1

マニフェストファイルの各アクティビティタグにこの行を書いてみてください

android:launchMode="singleTask"
于 2012-06-12T08:21:08.053 に答える
0

i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);前に使用startActivity(i);

于 2012-06-12T07:11:54.193 に答える