我刚下载了phonegap的WebIntent插件,但在设置时立即遇到错误。 WebIntent.java的前几行是
import java.util.HashMap;
import java.util.Map;
import org.apache.cordova.DroidGap;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Intent;
import android.net.Uri;
import android.util.Log;
import android.text.Html;
import org.apache.cordova.api.Plugin;
import org.apache.cordova.api.PluginResult;
...
public class WebIntent extends Plugin {
Eclipse识别除
之外的所有导入org.apache.cordova.api.Plugin
经过一番研究,我发现Phonegap 2.0希望插件扩展插件类。 Phonegap 2.7希望插件扩展“CordovaPlugin”。
快速查看Phonegap github表明,该套餐中甚至不再存在名为“插件”的类。这让我感到困惑,因为WebIntent github仅在几个月前更新过,它仍然使用插件。
我尝试将插件更改为CordovaPlugin,无论我在文件中找到它。令人惊讶的是,大多数错误都是贬低的。但是,onNewIntent方法仍然有错误:
@Override
public void onNewIntent(Intent intent) {
if (this.onNewIntentCallback != null) {
PluginResult result = new PluginResult(PluginResult.Status.OK, intent.getDataString());
result.setKeepCallback(true);
this.success(result, this.onNewIntentCallback);
}
}
“success(...)”不是CordovaPlugin中的函数,并且没有类似的功能。
有人能想出解决这个问题的方法吗?或者是否有我遗失的信息? (一个更新的WebIntent版本会很棒,但我似乎找不到一个)
答案 0 :(得分:9)
升级到Phonegap 3.0时遇到同样的问题,找到的解决方案不仅是将插件更改为CordovaPlugin,而且还需要从import语句中删除“api”。
更改
import org.apache.cordova.api.Plugin;
import org.apache.cordova.api.PluginResult;
对此:
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.PluginResult;
答案参考:http://devgirl.org/2013/09/05/phonegap-3-0-stuff-you-should-know/
答案 1 :(得分:4)
我遇到了完全相同的问题。
此处的问题是,从org.apache.cordova.api.plugin
开始,phonegap-2.7.0
已完全删除,应替换为org.apache.cordova.api.CordovaPlugin
。
有关如何执行此操作的详细信息,请查看http://simonmacdonald.blogspot.fr/2013/06/why-dont-my-plugins-work-in-phonegap.html。
我按照这些说明操作,您可以在https://github.com/phonegap/phonegap-plugins/issues/1047找到WebIntent.java
替换代码的相关部分。