内容简介:恢复WebView状态不会为您执行此操作,并且当您的应用程序尝试解除其中一个时,可能会崩溃,从而导致NullPointerException.翻译自:https://stackoverflow.com/questions/5437344/save-restore-state-of-android-webview
我有一个简单的webView应用程序,它从我们的网站加载一个页面,其中包含我们的现场人员应该每天访问的位置和电话号码.它提供了启动导航或拨打电话的钩子.从外部活动返回时,应用程序崩溃.点击手机的主页按钮,然后拨打手机,然后返回到应用程序工作正常.
这是代码……
更新2 – 不再崩溃,返回时webview为空
public class VSIMobile_WebView extends Activity { private static String PROVIDER="gps"; private WebView browser; private LocationManager myLocationManager=null; private TelephonyManager myTeleManager = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); browser=(WebView)findViewById(R.id.webview); myLocationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE); myTeleManager=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); browser.getSettings().setJavaScriptEnabled(true); browser.addJavascriptInterface(new Locater(), "locater"); browser.addJavascriptInterface(new JavaScriptInterface(this), "Android"); if (savedInstanceState!=null){ browser.restoreState(savedInstanceState); }else{ browser.loadUrl("http://zzz.com"); browser.setWebViewClient(new HelloWebViewClient()); } } public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } @Override public void onSaveInstanceState(Bundle outState) { //Toast.makeText(getBaseContext(), browser.getUrl(), Toast.LENGTH_LONG).show(); browser.saveState(outState); } @Override protected void onRestoreInstanceState(Bundle state) { browser.restoreState(state); super.onRestoreInstanceState(state); //Toast.makeText(getBaseContext(), browser.getUrl(), Toast.LENGTH_LONG).show(); } /* Did not work public void onResume(Bundle inState){ browser.restoreState(inState); super.onResume(); } public void onPause(Bundle outState) { browser.saveState(outState); super.onPause(); } */ @Override public void onResume(){ super.onResume(); } @Override public void onPause() { super.onPause(); }
恢复WebView状态不会为您执行此操作,并且当您的应用程序尝试解除其中一个时,可能会崩溃,从而导致NullPointerException.
翻译自:https://stackoverflow.com/questions/5437344/save-restore-state-of-android-webview
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 使用二进制保存用户状态
- PHP 使用二进制保存用户状态的实例
- 保存和恢复模型
- Android 文件保存
- 通过按钮单击保存PhpSpreadSheet
- javascript – Backbone.js – 在上一个保存前保存模型POST(创建)而不是PUT(更新)请求时出现问题
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
CSS权威指南(第三版·英文影印版)
[美] Eric A.Meyer / 东南大学出版社 / 2007-06 / 68.00元
著名的CSS专家Eric A.Meyer他招牌式的智慧和无与伦比的经验引领读者探索了CSS的各个部 分,包括属性、标记、特性和实现。此外,他还就现实应用中的一些问题,例如浏览器的支持和设计方针,发表了看法。你所要知道的就是HTML 4.0的知识,这样就可以创建整洁、易于维护的脚本,以与桌面出版系统同样的优雅和控制能力管理网站布局和分页。你将会学到: 精妙地设计文本风格 用户界面、......一起来看看 《CSS权威指南(第三版·英文影印版)》 这本书的介绍吧!