PhoneGap loadUrl监听
来源:互联网 发布:java快速排序简单代码 编辑:程序博客网 时间:2024/06/10 23:33
最近有个外包项目,需要用到PhoneGap,之前对Cordova和PhoneGap两者的关系有点错乱,做了这个项目才知道他们的关系。Cordova是Phonegap的儿子,但是对于商业用途来说,我还是建议大家使用PhoneGap,因为PhoneGap的代码结构比Cordova更加简洁,市面上的招聘也是招PhoneGap居多。
用PhoneGap来load url,可能是大部分项目都是用JQuery Mobile存在放本地作为资源,所以加载速度比较快,这个加载的等待提示很容易被忽略。尤其是,需要加载网络上的地址的时候。
参考了这篇博文:http://blog.csdn.net/tommychen1228/article/details/8788340 发现Log的方法没有被调用,我以为在onStarted等方法里面不可以打印日志,可能跟浏览器有关,于是我找到了一个兼容4.0以上的版本用了一个IceCreamCordovaWebViewClient去兼容,结果发现,在4.0+的系统根本不调用IceCreamCordovaWebViewClient。
使用了自己定义的布局,当然要使用CordovaWebView。
<org.apache.cordova.CordovaWebView android:id="@+id/tutorialView" android:layout_width="match_parent" android:layout_height="match_parent" />
折腾了一番终于发现了问题,原来这个监听信息的传递需要需要通过webview自身的postMessage来实现。
@Override public void onPageStarted(WebView view, String url, Bitmap favicon) { //we use CordovaWebView postMessage() to CordovaInterface //like handle to get what CordovaWebView has sent //post format like message_id,content webView.postMessage("onPageStarted ", url); super.onPageStarted(view, url, favicon); }发送消息有了,则需要获取这个发送的消息,需要实现CordovaInterface的Object onMessage(String id, Object data)方法,特别要注意的是,当data为空的时候,打印信息会报错。
@Overridepublic Object onMessage(String id, Object data) {//here is for get the data what CordovaWebView has sent //rememeber to check if data is not null//becuz when CordovaWebView has been destoryed it still post a null message like about:blankif(data!=null){Log.e("post message",data.toString()+" "+id);}return data;}
@Overrideprotected void onDestroy() {//remember to cleanup all PhoneGap related stuff//handleDestroy() will cleanup stuff like the PluginManager, broadcast receiversif(webView!=null){ webView.handleDestroy();}super.onDestroy();}
项目代码:https://github.com/arjinmc/PhoneGapDemo
0 0
- PhoneGap loadUrl监听
- android判断phonegap是否联网动态加载 super.loadUrl网址
- android判断phonegap是否联网动态加载 super.loadUrl网址
- phonegap监听物理返回键
- phonegap监听物理返回键
- WebView.loadUrl
- 如何在phonegap中监听数据加载的事件
- sencha touch 添加类似phoneGap的android键盘监听事件
- PhoneGap
- PhoneGap
- phonegap
- phonegap
- phonegap
- PhoneGap
- PhoneGap
- PhoneGap
- PhoneGap
- phonegap
- git 解决pull origin 错误 error: The following untracked working tree files would be overwritten by merge
- JavaWeb工程中web.xml基本配置
- 无打印报表
- JAVA 堆排序实现
- sublime text的Ctrl+alt+up快捷键失效问题解决
- PhoneGap loadUrl监听
- FreeSWITCH技巧:notify与message-waiting
- 9种企业常用的Linux和Unix服务器
- eclipse提交项目到github
- mysql in 子查询 效率慢 优化
- 黑马程序员——C语言基础——冒泡排序算法探究
- 调用子屏幕
- 在HTML中使用JavaScript和CSS
- libgsc(Game Server Communication Library)(五)