2017-04-21 5 views
0

私は自分のコードワインを作成しましたが、動作させることはできません。 これはjavaファイルです。 myTest.javaCordova独自のプラグインでエラーが発生しました:オブジェクトにcode.jsのメソッド 'apply'がありません

var exec = require('cordova/exec'); 

module.exports = { 
    showhello: function(successCallback, errorCallback) { 
      exec(successCallback, errorCallback, "myTest", "giveHello", [null]); 
    } 
} 

これは、plugin.xmlの

<?xml version='1.0' encoding='utf-8'?> 
<plugin id="cordova-plugin-mytest" version="0.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android"> 
<name>Test plugin</name> 
<js-module name="myTest" src="www/mytest.js"> 
    <clobbers target="myTest" /> 
</js-module> 
<platform name="android"> 
    <config-file parent="/*" target="res/xml/config.xml"> 
     <feature name="myTest"> 
      <param name="android-package" value="com.testplugin.test.myTest" /> 
     </feature> 
    </config-file> 

    <source-file src="src/android/test/myTest.java" target-dir="src/com/testplugin/test" /> 
</platform> 

しかし、私はWWWのフォルダにそれを呼び出すですmytest.jsのJavaScriptファイル、

package com.testplugin.test; 

import org.apache.cordova.CordovaPlugin; 
import org.apache.cordova.CallbackContext; 
import org.json.JSONArray; 
import org.json.JSONException; 

public class myTest extends CordovaPlugin { 
@Override 
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { 
     if (action.equals("giveHello")) { 
      String results = "Hello world"; 
      callbackContext.success(results); 
      return true; 
     } 
     return false; 
    } 
} 

私のプラグイン、myapp.js

myTest.showhello('myTest', success, error); 

私はこのエラーを得た:

Error in Success callbackId: myTest1490933768 : TypeError: Object myTest has no method 'apply'", source: file:///android_asset/www/cordova.js (312)

誰かが私が作ったものの間違いを見せますか?エラーはどういう意味ですか?

答えて

0

jsとjavaファイルを書き込むだけでは不十分です。作成されたjavaプラグインファイルを使用して、Plugin.xmlを作成し、jsメソッドをバインドする必要があります。たとえば。完全なリファレンスについては

<js-module src="www/android/proximity-notification.js" name="ProximityNotification"> 
     <clobbers target="ProximityNotification" /> 
    </js-module> 

私が私のせいを見つけたようだhttps://cordova.apache.org/docs/en/latest/guide/platforms/android/plugin.html

+0

こんにちは、答えに感謝のような何かをしなければなりません。私はそれが問題ではないと思うので、私はそのplugin.xmlを持っています。 – ayok

0

を参照してください。 それはmytest.js

代わりのshowhello: function(successCallback, errorCallback)

でだ、私は showhello: function(message, successCallback, errorCallback)

関連する問題