Webview在被用户杀死后无法恢复状态

Webview在被用户杀死后无法恢复状态,第1张

Webview在被用户杀死后无法恢复状态

正如您自己指出的那样,由于保存状态为null,因此您可能无法期望onCreate将您的Web视图返回到打开的最后一页。您需要做两件事:

确保登录页面(这是您的第一页)在检测到用户已经登录时重定向到相关内容页面。由于您已经在使用cookie,所以这很简单。

然后,使用onPause方法保存webView的当前URL。

@Overrideprotected void onPause() {    super.onPause();    SharedPreferences prefs = context.getApplicationContext(). getSharedPreferences(context.getPackageName(), Activity.MODE_PRIVATE);    Editor edit = prefs.edit();    edit.put("lastUrl",webView.getUrl());    edit.commit();   // can use edit.apply() but in this case commit is better}

然后,您可以在onCreate方法上读取此属性,并根据需要加载url。如果定义了首选项,则加载它,如果不加载,则登录页面(如果已经登录,则应重定向到第一个内容页面)

UPDATE 这就是您的onResume的外观。还向上述onPause()方法添加了一行。

@Overrideprotected void onResume() {    super.onResume();    if(webView != null) {        SharedPreferences prefs = context.getApplicationContext(). getSharedPreferences(context.getPackageName(), Activity.MODE_PRIVATE);        String s = prefs.getString("lastUrl","");        if(!s.equals("")) {  webView.loadUrl(s);        }    }}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5506291.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-13
下一篇2022-12-13

发表评论

登录后才能评论

评论列表(0条)

    保存