如何在Android中启用仅退出后退活动两次?

问题描述:

我有一个基于Wordpress的新闻应用程序。为了加快速度,我购买了满足大部分需求的模板。但在应用程序中,当我按回家按钮或任何第一级屏幕上的按钮退出应用程序。如何在Android中启用仅退出后退活动两次?

只有当用户按下按钮两次时,我该如何实现退出?

+2

覆盖了'onBackPressed'方法。 –

+0

因此,您正在开发一个Android应用程序作为您网站上的WebView? – ddb

+5

可能的重复:http://*.com/questions/8430805/clicking-the-back-button-twice-to-exit-an-activity – Shaishav

试试这个,

private static final int TIME_INTERVAL = 2000; // # milliseconds, desired time passed between two back presses. 
    private long mBackPressed; 

    @Override 
    public void onBackPressed() 
    { 
     if (mBackPressed + TIME_INTERVAL > System.currentTimeMillis()) 
     { 
      super.onBackPressed(); 
      return; 
     } 
     else { Toast.makeText(getBaseContext(), "Tap back button in order to exit", Toast.LENGTH_SHORT).show(); } 

     mBackPressed = System.currentTimeMillis(); 
    } 
+3

与其他帖子相同的评论。不要重复答案。 http://*.com/a/22332291/2308683 –

+0

@ cricket_007这是正确的链接。如果OP在此之前询问谷歌一次,我将不胜感激。不要试图阻止,但最好在发布之前查找答案 – VarunJoshi129

+0

@ user3164647是的,这就是为什么当您在此发布问题时,它会为您提供其他类似标题问题的建议。 –

不必实现相同的行为多次后,决定拿出它的机器人库。 DoubleBackPress Android Library,照顾所有的麻烦,并提供简单的模板来处理。

首先的关系是不添加到应用程序:

dependencies { 
    implementation 'com.github.kaushikthedeveloper:double-back-press:0.0.1' 
} 

现在,执行:

// set the Action to occur on DoubleBackPress 
DoubleBackPressAction doubleBackPressAction = new DoubleBackPressAction() { 
    @Override 
    public void actionCall() { 
     // TODO : your code to exit the application 
    } 
}; 

// setup DoubleBackPress behaviour 
DoubleBackPress doubleBackPress = new DoubleBackPress() 
     .withDoublePressDuration(3000)       //msec - timeout 
     .withDoubleBackPressAction(doubleBackPressAction); 

@Override 
public void onBackPressed() { 
    doubleBackPress.onBackPressed(); 
}