codova+html开发安卓,cordova 开发安卓项目 解决html 放到服务器上无法调用插件的问题...

cordova 开发安卓项目 解决html 放到服务器上无法调用插件的问题

原创

上树看风景2016-07-29 23:56:43著作权

©著作权归作者所有:来自51CTO博客作者上树看风景的原创作品,如需转载,请注明出处,否则将追究法律责任

https://blog.51cto.com/u_11911270/1831926

cordova2.9 版本开发很简单将需要的js和html 放到服务器上 直接调用cordova 提供的插件函数就可以调用, 从3.x 版本之后 机制发生了很大的变化, cordova 不在预设插件函数 所有的插件需要自己去安装 cordova plugin add 网络地址或自己写的插件本地路径 就可以添加插件。 具体怎么添加网上有教程。今天解决的问题是,3.x之后版本 html5 和app 一起打包可以调用插件,但是放到服务器上远程调用就不起作用。

在导入的CordovaLib工程下找到org.apache.cordova.CordovaBridge 类

找到:

public boolean shouldAllowBridgeAccess(String url) {

for (PluginEntry entry : this.entryMap.values()) {

CordovaPlugin plugin = pluginMap.get(entry.service);

if (plugin != null) {

Boolean result = plugin.shouldAllowBridgeAccess(url);

if (result != null) {

return result;

}

}

}

// Default policy:

return url.startsWith("file://");

}

把方法中的按照以下注掉

//if (pluginManager.shouldAllowBridgeAccess(origin)) {

// Enable the bridge

int bridgeMode = Integer.parseInt(defaultValue.substring(9));

jsMessageQueue.setBridgeMode(bridgeMode);

// Tell JS the bridge secret.

int secret = generateBridgeSecret();

return ""+secret;

//} else {

//    Log.e(LOG_TAG, "gap_init called from restricted origin: " + origin);

//}

//return "";

重新发布运行 就可以使用服务器上的js调用cordova插件了。

0收藏

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值