2016-05-30 8 views
0

私はonBackPressedメソッドを実装していますが、このメソッドでは、 "Press again to exist"というコードを実装しています。ユーザーがaginを押してもらいたいときに実行します。アプリをバックグラウンドで使用します どうすれば解決策を教えてください。アンドロイドで「もう一度押してください」の背景にアプリを移動するにはどうすればいいですか?

がここに私のコードです: -

@Override 
public void onBackPressed() { 
    if (doubleBackToExitPressedOnce) { 
     super.onBackPressed(); 
     return; 
    } 
    this.doubleBackToExitPressedOnce = true; 
    Toast.makeText(this, "Press again to exit", Toast.LENGTH_SHORT).show(); 
    new Handler().postDelayed(new Runnable() { 

     @Override 
     public void run() { 
      doubleBackToExitPressedOnce = false; 

     } 
    }, 2000); 
} 
+0

使用 moveTaskToBack(true)を達成するための非常に単純な方法で試してみてください。 –

答えて

0

使用moveTaskToBack(true);

if (doubleBackToExitPressedOnce) { 
    moveTaskToBack(true); 
} 

EDIT

この効果に何かを試してみてください。これは、500ミリ秒以内に連続的なバックプレスで終了します。あなたの好みに合わせて500ミリ秒を変更してください。

long lastPressTime = 0l; 

@Override 
public void onBackPressed() { 
long currentTime = System.currentTimeMillis(); 

if((currentTime-lastPressTime) < 500l) 
{ 
    // Double Press 
    moveTaskToBack(true); 
} 

else 
{ 
    Toast.makeText(this, "Press again to exit", Toast.LENGTH_SHORT).show(); 
    lastPressTime = currentTime; 
} 
} 
+0

ユーザーがdoubleを一度に押すのではなく、このメソッドを使用したい – John

+0

@Johnコードを更新しました。 –

0

これは、この

private int i = 0;//this is activity's global variable 
@Override 
public void onBackPressed() { 
    ++i; 
    if(i==1) 
     Toast.makeText(this, "Press once again to exit!", Toast.LENGTH_LONG).show(); 
    else 
     finish(); 

} 
関連する問題