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

在 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>

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值