我正在嘗試爲Cordova - android創建自定義插件。插件的目的是通過單擊HTML5屏幕上的按鈕來引發本機android活動的意圖。所以最初,我會在一個帶有按鈕的HTML5屏幕上。點擊按鈕,我應該被重定向到一個原生的android活動屏幕。如何爲Cordova2.3創建自定義插件 - Android
下面是一些代碼我已經做了,
customplugin.js
function CustomPlugin(){};
CustomPlugin.prototype.launchActivity = function(startClass)
{
alert("@@@ Starting plugin to launch native activity.");
cordova.exec(null, null, 'CustomPlugin', 'launchActivity', [startClass]);
};
if(!window.plugins) {
window.plugins = {};
}
if (!window.plugins.customplugin) {
window.plugins.customplugin = new CustomPlugin();
}
在這段代碼,但是,我得到「遺漏的類型錯誤:無法調用未定義的方法‘launchActivity’ 「。 請幫我看一些示例代碼示例。提前致謝。
CustomPlugin.java
package org.apache.cordova.example;
import org.apache.cordova.api.CallbackContext;
import org.apache.cordova.api.CordovaPlugin;
import org.apache.cordova.api.Plugin;
import org.apache.cordova.api.PluginResult;
import org.json.JSONArray;
import org.json.JSONException;
import android.util.Log;
public class CustomPlugin extends CordovaPlugin
{
@Override
public boolean execute(String action, final JSONArray args, CallbackContext callbackContext) throws JSONException
{
if ("launchActivity".equals(action))
{
String goClass = null; if(args.length() > 0) goClass = args.getString(0);
Log.i("NATIVE", "Launch class : " + goClass);
return true;
}
else
{
return false;
}
}
嘿,我所做的更改如你所說,但它仍然沒有工作。我仍然'Uncaught TypeError:不能調用未定義的方法launchActivity「。順便說一句,在我給出的問題的代碼片段中,我沒有收到警報「@@@啓動插件啓動本機活動。」在任何時間點。這是否意味着控制永遠不會進入代碼的那一部分? – Tony
你可以添加你執行launchActivity()到你的問題的代碼嗎?問題在那裏。 – asgoth