如何实施“再次按下退出”功能?

时间:2012-04-25 06:54:40

标签: android

某些应用程序(例如Dolphin HD Browser)实现了以下功能:

按“后退”会在后排堆叠中跳回。当显示初始视图/活动/片段并按“后退”时,会出现Toast说“再次按返回退出”或类似内容。

我该如何实现此功能?

3 个答案:

答案 0 :(得分:8)

在课堂上排名靠前:

  int count = 0; 

在你班上的身体里:

public void onBackPressed() 
{
   if(count == 1)
   {
      count=0;
      finish();
   }
   else
   {
      Toast.makeText(getApplicationContext(), "Press Back again to quit.", Toast.LENGTH_SHORT).show();
      count++;
   }

    return;
}

答案 1 :(得分:2)

像这样抓住后退按钮事件:

public void onBackPressed() 
{
    //Add your logic here
    return;
}

现在创建一个标志,以便您的应用程序在第一次触发时不会关闭。 最后,通过在您的活动上调用finish();来结束您的活动。

为了快速显示Toasts,请使用:

Toast.makeText(this, "Press Back again to quit", Toast.LENGHT_SHORT).show();

前提是您从活动类启动此代码。如果没有,请尝试获取您的活动的上下文,而不是使用this

答案 2 :(得分:2)

对于API级别1,覆盖活动的

public boolean onKeyDown(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_BACK) {
    ....

对于API级别5及以上,请参阅Pieter888所说的内容。