Is there a nice way to fix this Problem?
In my Webview I can go back if click on the backbutton. I need a way to go back if I click once, and if I can't go back (startdisplay/startside) it should say "Click once more to Exit the app" with a toast. Is this possible?
public class MainActivity extends 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();
}
}
}
Hello I suggest you a different method based on time. Because after user see toast message that warning about exit, she/he shouldn't want to exit app.
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);
}