1 点击 -> 返回 // 不能返回 --> 关闭

1 Click -> Go back / / Can't go back --> close

有解决这个问题的好方法吗?

在我的 Webview 中,如果单击后退按钮,我可以返回。 如果我单击一次,我需要一种返回方法,如果我不能返回 (startdisplay/startside),它应该说 "Click once more to Exit the app" 祝酒。这可能吗?

public class MainActivity 扩展 AppCompatActivity {

private ImageButton Ilias_link;
private ImageButton Lsf_link;
private WebView mWebView;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    Ilias_link = (ImageButton) findViewById(R.id.ilias_link);
    mWebView = new WebView(this);
    Ilias_link.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.loadUrl("https://elearns02.fh-biberach.de/ilias3/login.php?target=&soap_pw=&ext_uid=&cookies=nocookies&client_id=HSBC&lang=de");
            mWebView.setWebViewClient(new WebViewClient());
            setContentView(mWebView);

        }
    });

    Lsf_link = (ImageButton) findViewById(R.id.lsf_link);
    mWebView = new WebView(this);
    Lsf_link.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.loadUrl("https://lsf.fh-biberach.de/qisserver/rds?state=user&type=0");
            mWebView.setWebViewClient(new WebViewClient());
            setContentView(mWebView);
        }
    });
}



@Override
    public void onBackPressed() {
        if (mWebView.canGoBack()) {
            mWebView.goBack();
        } else {
            super.onBackPressed();
        }
}

}

您可以使用临时全局 variable.I 尚未测试但它应该可以工作

boolean goback = false;
@Override
public void onBackPressed() {
    if (mWebView.canGoBack()) {
        mWebView.goBack();
     }else {
        if(!goback) {
           goback = true;
           //show Toast here..
           return;
        } 
        super.onBackPressed();
     }
}

您好,我建议您根据时间使用不同的方法。因为在用户看到有关退出警告的 toast 消息后,she/he 不应该退出应用程序。

boolean doubleBack = false;
@Override
public void onBackPressed() {
    if (mWebView.canGoBack()) {
        mWebView.goBack();
        return ;
    }

    if (doubleBack) {
        super.onBackPressed();
        return;
    }

    doubleBack = true;
    Toast.makeText(this, "Click once more to Exit the app", Toast.LENGTH_SHORT).show();

    new Handler().postDelayed(new Runnable() {

        @Override
        public void run() {
            doubleBack = false;                       
        }
    }, 2000);
}