我一直在尝试使用 Phonegap Image Resizer插件在我的项目中,但我无法让它工作。
错误日志返回:
D/PluginManager(13992): exec() call to unknown plugin: com.webXells.imageResizer
我已将所有必要的东西移到我的项目文件夹中。结构如下:
/assets
/js
cordova.js
imageresize.js
/www
index.html
upload.html
/src
/com
/webXells
/ImageResizer
ImageResizerPlugin.java
我还将插件包含在 config.xml
中在/res/xml
:
<feature name="imageResizer">
<param name="android-package" value="com.webXells.imageResizer.ImageResizePlugin"/>
</feature>
在upload.html
我已经包含了这样的插件:
<script type="text/javascript" charset="utf-8" src="../js/imageresize.js"></script>
这就是我调用方法来使用它的方式:
function onPhotoDataSuccess(imageData) {
window.imageResizer.resizeImage(
function(data) {
var smallImage = document.getElementById('smallImage');
smallImage.style.display = 'block';
image.src = "data:image/jpeg;base64," + imageData;
//image.src = imageData;
},
function (error) {
console.log("Error : \r\n" + error);
},
imageData,
0.5,
0.5,
{
imageDataType:ImageResizer.IMAGE_DATA_TYPE_BASE64,
resizeType:ImageResizer.RESIZE_TYPE_FACTOR,
format:'jpg'
}
);
}
所以,在 imageresize.js
里面我想使用的方法如下所示。有需要的可以引用上面的链接:
ImageResizer.prototype.resizeImage = function(success, fail, imageData, width,
height, options) {
if (!options) {
options = {}
}
var params = {
data : imageData,
width : width,
height : height,
format : options.format,
imageDataType : options.imageType,
resizeType : options.resizeType,
quality : options.quality ? options.quality : 70
};
return cordova.exec(success,fail,"com.webXells.imageResizer","resizeImage",[params]);
}
在上面的代码中,我注意到 com.webXells.imageResizer
没有像 logcat 中报告的那样调用。令我困惑的是,我已将其包含在 config.xml
中。并将java文件移动到src
中文件夹。为什么即使我已经完成了所有必要的事情,它还是不能被调用?
我做的一些研究表明要在 plugin.xml
中声明插件, 但我没有里面的文件 res/xml
.所以,我把它放在 config.xml
反而。
Other推荐使用<gap:plugin name="com.phonegap.plugins.example" />
但是 Eclipse 发现了错误。
那么,我该如何解决这个问题呢?我是否正确调用了 HTML 中的方法?或者我错过了什么?
最佳答案
从 cordova 3.5.0-0.2.6 开始,res/xml/config.xml 在构建时被覆盖。尝试将功能标记添加到应用程序根目录中的 config.xml。为我工作。
关于javascript - PhoneGap - exec() 调用未知插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18886211/