
正如您自己指出的那样,由于保存状态为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); } }}欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)