Android - WebView 在简历中死亡
Posted
技术标签:
【中文标题】Android - WebView 在简历中死亡【英文标题】:Android - WebView dies on resume 【发布时间】:2010-12-15 09:12:29 【问题描述】:-
我有一些数据显示在 WebView 中的 Activity,我使用
WebView#loadDataWithBaseURL
加载这些数据
然后我有/单击触发android.content.Intent.ACTION_SEND
的菜单选项
从选择器中选择电子邮件
Google 电子邮件出现(如预期)
放弃电子邮件并点击返回按钮
WebView 的操作尝试resume
Bang - 我在 WebView.java if (mWebViewCore.getSettings().getNeedInitialFocus())
的第 4380 行收到 NullPonterException,因为 mWebViewCore 现在为空
代码中 mWebViewCore 无效的唯一位置是 WebView#destroy - 我如何从中恢复?我是否需要重新创建浏览器并重新加载我的数据,这似乎很浪费?在这一点上,我真的很感谢你的好建议
【问题讨论】:
【参考方案1】:好吧,我可以告诉你,我刚刚使用WebView
和loadDataWithBaseURL()
进行了测试,我加载的页面有一个链接。正如预期的那样,单击链接会打开浏览器应用程序。从浏览器中按 BACK 按钮可以将我的应用程序带回 WebView
就好了,没有例外。
所以,要么ACTION_SEND
/Gmail 有点特别,要么你的应用有更多的事情发生。
你能在一个可以在某处发布的小项目中复制这个问题吗?
【讨论】:
我也有一种感觉,它只发生在 gmail 上。我尝试了 facebook 和 twitroid,它工作正常,但从 gmail 回来只会杀了我。我会把它放到独立项目中并尝试 顺便说一句 - 我做了很多次你描述的场景,没有问题。这是 ACTION_SEND 和 GMail 特有的 - 我很确定 如果属实,那就太疯狂了,这表明 Android 中的某个地方存在错误。如果您能想出一个可重现的方案,请将症状和代码发布到b.android.com。 JBQ 正在尽职尽责地关注新问题。 没关系...完全是我的错。实际上 - 过度工程的光辉例子,我不必要地使用服务回调并且不得不对我的部分构建的 WebView 将被放弃(用户单击“返回”按钮)并且我不得不在那里执行 WebView#destroy 的情况进行处理,这正在杀死什么我在上面的场景中。我回到了简单的处理程序,它工作正常以上是关于Android - WebView 在简历中死亡的主要内容,如果未能解决你的问题,请参考以下文章
android webView 的 webSettings 最全的说明
android webView 的 webSettings 最全的说明
将Playbuzz加载脚本加载到Android中的WebView中
Android:将 sqlite 数据库内容加载到 webview