📜  如何实现再次按Back退出以在Android中退出?

📅  最后修改于: 2021-05-08 21:04:29             🧑  作者: Mango

后退”按钮在许多不同的android应用程序中有许多不同的用途。一些应用程序开发人员使用它来关闭其应用程序时,有些人则使用它来遍历该应用程序的上一个活动。许多应用程序要求用户在一定间隔内两次按下“返回”按钮才能成功关闭应用程序,这被认为是最佳做法。

再次退出新闻发布会

为什么要在应用程序中实现呢?

  • 它为应用程序添加了更好的UX,为用户提供了令人满意的体验。
  • 如果用户误按了“上一步”按钮,它可以作为确认。

方法

步骤1:建立新的Android Studio专案

请参考本文“如何在Android Studio中创建新项目”以详细了解如何创建新的Android Studio项目。请注意,选择Java作为编程语言。

步骤2:使用activity_main.xml文件

在此示例中,我们只有一个布局activity_main.xml ,其中将包含ImageViewTextView 。这是我们的activity_main.xml的样子:

activity_main.xml


  
    
    
    
  


MainActivity.java
package org.geeksforgeeks.pressbackexit;
  
import android.os.Bundle;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
  
public class MainActivity extends AppCompatActivity {
    private long pressedTime;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
  
    @Override
    public void onBackPressed() {
  
        if (pressedTime + 2000 > System.currentTimeMillis()) {
            super.onBackPressed();
            finish();
        } else {
            Toast.makeText(getBaseContext(), "Press back again to exit", Toast.LENGTH_SHORT).show();
        }
        pressedTime = System.currentTimeMillis();
    }
}


上面的布局看起来像这样:

输出用户界面

版面输出

步骤3:使用MainActivity。 Java文件

现在是应用程序的主要部分。为了检查何时按下“ BACK”按钮,请使用Android库中的onBackPressed()方法。接下来,执行检查以查看是否在2秒钟内再次按下了“返回”按钮,如果按下,将关闭该应用程序。否则,请不要退出。这是MainActivity的方式。 Java看起来像:

主要活动。Java

package org.geeksforgeeks.pressbackexit;
  
import android.os.Bundle;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
  
public class MainActivity extends AppCompatActivity {
    private long pressedTime;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
  
    @Override
    public void onBackPressed() {
  
        if (pressedTime + 2000 > System.currentTimeMillis()) {
            super.onBackPressed();
            finish();
        } else {
            Toast.makeText(getBaseContext(), "Press back again to exit", Toast.LENGTH_SHORT).show();
        }
        pressedTime = System.currentTimeMillis();
    }
}

在上面的代码中,当用户按下“返回”按钮一次时,会向他们致敬,要求他们再次按下按钮以退出。如果用户随后在2秒钟(2000毫秒)内再次按下“返回”,则该应用程序将关闭,否则,我们将保留在该位置。

输出:在模拟器上运行

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处,前往由我们的专家精心策划的指南,以使您立即做好行业准备!