android – 在后台运行WebView

我正在开发一个应用程序,它利用WebView登录网站,从中提取内容,然后在内容更新时通知用户.我已经获得了WebView以获取内容,但是我需要知道如何将WebView作为服务运行以使其在后台运行.

据我所知,必须从UI线程操纵WebViews,这使事情变得更加艰难.

有关如何让应用程序通知用户的任何建议/解决方法,无论他们是否打开了应用程序?

解决方法

虽然需要在单个线程上操作WebView,但它不一定需要是UI线程(除非您想将WebView附加到视图层次结构中),但它必须是所有WebView的相同线程.

虽然它没有明确支持(或经过严格测试),但WebView没有什么特别的功能可以阻止您在服务中运行它. WebView确实在Context上调用了一些通常不能在服务中工作的方法(比如getTheme()),所以你必须使用Contextwrapper解决这个问题.您还需要手动调用WebView.layout来欺骗WebView,使其认为它有一个大小.你可能需要做更多的事情,但没有别的想法.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...