Javascript 使用cordova的android Hello world插件
我正在尝试使用Cordova为android构建hello world插件。项目运行时没有错误,但我无法确定结果。我的logcat返回错误Javascript 使用cordova的android Hello world插件,javascript,android,cordova,ionic-framework,cordova-plugins,Javascript,Android,Cordova,Ionic Framework,Cordova Plugins,我正在尝试使用Cordova为android构建hello world插件。项目运行时没有错误,但我无法确定结果。我的logcat返回错误添加插件时出错。这是我的代码 Javascript window.func = function(str,callback){ alert("Outside Call Working"); cordova.exec(callback, function(err){alert(err)},"HelloPlugin"
添加插件时出错。这是我的代码
Javascript
window.func = function(str,callback){
alert("Outside Call Working");
cordova.exec(callback, function(err){alert(err)},"HelloPlugin","echo", [str]);
}
function callPlugin(str){
alert("JS Working");
window.func(str,function(){
alert("Done!");
});
}
安卓
public class HelloPlugin extends CordovaPlugin{
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if(action.equals("echo")){
String message = args.getString(0);
callbackContext.success(message);
return true;
}
callbackContext.success(action);
return true;
}
}
config.xml
<feature name="HelloPlugin">
<param name="android-package" value="com.ionicframework.myapp554544" />
</feature>
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.ionicframework.myapp554544" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<preference name="loglevel" value="DEBUG" />
<feature name="Keyboard">
<param name="android-package" value="com.ionic.keyboard.IonicKeyboard" />
<param name="onload" value="true" />
</feature>
<feature name="Device">
<param name="android-package" value="org.apache.cordova.device.Device" />
</feature>
<!-- Here is the plugin entry -->
<plugin name="HelloPlugin" value="com.example.plugintest.HelloPlugin" />
<!-- end of plugin entry -->
<name>myApp</name>
<description>
An Ionic Framework and Cordova project.
</description>
<author email="hi@ionicframework" href="http://ionicframework.com/">
Ionic Framework Team
</author>
<content src="index.html" />
<access origin="*" />
<preference name="webviewbounce" value="false" />
<preference name="UIWebViewBounce" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="BackupWebStorage" value="none" />
</widget>
HelloPlugin.java
package com.ionicframework.myapp554544;
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
public class HelloPlugin extends CordovaPlugin{
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if(action.equals("echo")){
String message = args.getString(0);
callbackContext.success(message);
return true;
}
callbackContext.success(action);
return true;
}
}
config.xml
<feature name="HelloPlugin">
<param name="android-package" value="com.ionicframework.myapp554544" />
</feature>
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.ionicframework.myapp554544" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<preference name="loglevel" value="DEBUG" />
<feature name="Keyboard">
<param name="android-package" value="com.ionic.keyboard.IonicKeyboard" />
<param name="onload" value="true" />
</feature>
<feature name="Device">
<param name="android-package" value="org.apache.cordova.device.Device" />
</feature>
<!-- Here is the plugin entry -->
<plugin name="HelloPlugin" value="com.example.plugintest.HelloPlugin" />
<!-- end of plugin entry -->
<name>myApp</name>
<description>
An Ionic Framework and Cordova project.
</description>
<author email="hi@ionicframework" href="http://ionicframework.com/">
Ionic Framework Team
</author>
<content src="index.html" />
<access origin="*" />
<preference name="webviewbounce" value="false" />
<preference name="UIWebViewBounce" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="BackupWebStorage" value="none" />
</widget>
myApp
爱奥尼亚框架和科尔多瓦项目。
离子框架小组
应改为:
cordova.exec(callback, function(err){alert(err)},"org.apache.cordova.plugin.HelloPlugin","echo", [str]);
还可以将您的xml条目更改为:
<plugin name="HelloPlugin" value="com.example.plugintest.HelloPlugin" />
@Root这是另一个问题,但现在添加了您的插件。我无法理解找不到哪个类这是我的logcat返回的调用未知插件org.apache.cordova.plugin.HelloPlugin“
您的xml条目是什么?再次找不到类:)
<plugin name="HelloPlugin" value="com.example.plugintest.HelloPlugin" />