android - 重新打开时是否可以在浏览器中重新加载网站
问题描述
所以我的基本目标是在 android studio 中创建一个浏览器,我将默认 url 设为 google.com,还有一个搜索栏可用于输入任何 url。我要做的是,每当用户关闭应用程序时,以及下一次打开应用程序时,它都应该重新加载上一个站点。例如,如果用户搜索 Facebook.com 并关闭应用程序,则下次打开应用程序时应重新加载 Facebook.com 而不是主页(即 Google.com)
解决方案
您可以每次手动保存 webview 的状态,然后使用SharedPreferences恢复它。要保存退出前访问的最后一个 URL 用户,您可以这样做:
@Override
protected void onPause() {
super.onPause();
SharedPreferences prefs = context.getSharedPreferences(context.getPackageName(), Activity.MODE_PRIVATE);
Editor mEditor = prefs.edit();
mEditor.put("lastUrlVisited", mWebView.getUrl());
mEditor.commit();
}
为了检索数据,您可以将这些行添加到 onCreate() 方法:
SharedPreferences prefs = context.getSharedPreferences(context.getPackageName(), Activity.MODE_PRIVATE);
String tmpURL = prefs.getString("lastUrlVisited", "");
if(!tmpURL.equals("")) {
mWebView.loadUrl(tmpURL);
}
或者根据您的需要,您可以在每次恢复活动时在 onResume() 方法中执行此操作:
@Override
protected void onResume() {
super.onResume();
SharedPreferences prefs = context.getSharedPreferences(context.getPackageName(), Activity.MODE_PRIVATE);
String tmpURL = prefs.getString("lastUrlVisited", "");
if(!tmpURL.equals("")) {
mWebView.loadUrl(tmpURL);
}
}
推荐阅读
- pyqt - 可以为一个 Venv 安装 PyQt5-sip,但不能为另一个 Venv 安装!(Pycharm/Win10)
- python - Why won't my discord bot unban correctly?
- swift - WKWebview check if cookie exists
- python - Unable to compile my python-kivy apk in googe colab because of Requests module
- c++ - Facing undefined reference error after upgrading Protobuf
- reactjs - ReactJS 导出到 csv 库问题
- twitter-bootstrap - bootstrap:从 show.bs.modal 事件中抑制模式
- ios - iOS MDM:任何 MDM SDK 都可以在没有 Internet 的情况下发送 MDM 命令吗?
- google-apps-script - 如何使电子表格自动添加新行?
- python - MySql 类对象函数错误 - python