java - ANDROID onBackPressed 不适用于该 Activity

标签 java android activity-lifecycle

我为我的 Activity 实现了 onBackPressed,它将检查互联网连接,但是当我点击平板电脑中的后退按钮时,它什么都不做。我不明白这是什么原因。可以帮忙吗?

下面是我的代码

if (!cd.isConnectingToInternet()) {
        AlertDialog.Builder splash = new AlertDialog.Builder(this);
        splash.setIcon(R.drawable.ic_fail)
                .setTitle("No Internet Connection")
                .setMessage(
                        "Please check your internet connection and try again.")
                .setCancelable(false)
                .setPositiveButton("Try again",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                Intent splash = new Intent(
                                        getApplicationContext(),
                                        SplashActivity.class);
                                startActivity(splash);
                                finish();
                            }
                        })
                .setNegativeButton("Wifi Setting",
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                    int id) {
                                startActivity(new Intent(
                                        android.provider.Settings.ACTION_WIFI_SETTINGS));
                                dialog.cancel();
                            }
                        });
        AlertDialog alert = splash.create();
        alert.show();
    } else {
        Thread timer = new Thread() {
            public void run() {
                try {
                    sleep(5000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                } finally {
                    Intent login = new Intent(getApplicationContext(),
                            LoginActivity.class);
                    startActivity(login);
                    finish();
                }
            }
        };
        timer.start();
    }
}

public void onRestart() {
    super.onRestart();
    Intent splash = new Intent(getApplicationContext(),
            SplashActivity.class);
    startActivity(splash);
}

@Override
public void onBackPressed() {
    super.onBackPressed();
    finish();
}

最佳答案

试试这段代码...

 @Override
        public void onBackPressed()
        {
            moveTaskToBack(true);
        }

关于java - ANDROID onBackPressed 不适用于该 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13640297/

相关文章:

android - 在 Android 应用程序中获取 Firebase 引用的最佳位置

java - Ant 的运行时类路径找不到 javac 的依赖项

android - java.text.parseException : Unparseable date : 2020-02-06T08:00:00

android - Android Studio 上的实验性 NDK 支持

java - 哪些最重要的功能我会错过针对 Android API 3 (OS 1.5) 而不是最新的 API?

Android 项目生命周期 - 在 Activity 生命周期 (Activity.onCreate()) 之前

android - Activity 创建了两次

java - 完成阶段 : Why is allOf or anyOf defined in CompletableFuture

java - 数组/列表问题

java - 将选定的单选按钮文本作为字符串获取