您的位置:首页 > 移动开发 > Android开发

在 Cordova/Phonegap for Android 中编写 URL 过滤器

2013-06-27 11:58 429 查看
在 Cordova/Phonegap for Android 中编写 URL 过滤器

在《在 Cordova/Phonegap for Android 中调用 API》http://xuekaiyuan.com/forum.php?mod=viewthread&tid=10 只是调用 Cordova/Phonegap提供的默认功能,如果想扩展怎么办?本例中将以编写 URL 过滤器为例讲解一种编写扩展的方法。限于3.0以上版本。

本贴首发于:http://xuekaiyuan.com/forum.php?mod=viewthread&tid=11

创建 URL 过滤器类

创建 com.daonao.test4 包

在包中创建 UrlFilter 类,选择父类为 org.apache.cordova.api.CordovaPlugin

编写 URL 过滤器函数 shouldInterceptRequest
@Override
    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
    public WebResourceResponse shouldInterceptRequest(String url) {
    ByteArrayInputStream stream = new ByteArrayInputStream(url.getBytes());
    return new WebResourceResponse("text/plain", "UTF-8", stream);
    }

该过滤器显示输入 URL 的内容,参考该过滤器可以自己设计出各种过滤器。

版本说明

Cordova/Phonegap 的 URL 过滤器插件是对 WebViewClient 中 shouldInterceptRequest 函数的封装。

http://developer.android.com/reference/android/webkit/WebViewClient.html#shouldInterceptRequest%28android.webkit.WebView,%20java.lang.String%29

从文档中可以看出,该函数限于 API Lvel 11

http://developer.android.com/gui ... ment.html#ApiLevels

代码为 HONEYCOMB,版本号为 Android 3.0.x,因此该过滤器的函数也限于该版本。
@TargetApi(Build.VERSION_CODES.HONEYCOMB)


编辑 Cordova 的配置文件 config.xml

复制 Cordova 项目中的 res/xml/config.xml 到当前项目的 res/xml/config.xml

直接编辑 config.xml 代码,增加一个 feature 元素
<feature name="UrlFilter">
            <param name="android-package" value="com.daonao.test4.UrlFilter"/>
            <url-filter value="file:///android_asset/www/"/>
        </feature>


在虚拟机中运行的效果图如下

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: