未捕获的TypeError:无法调用未定义的phonegap android的方法'方法名'

时间:2013-01-11 06:08:57

标签: javascript android cordova

我是PhoneGap应用程序开发的新手,所以我准备了一个样本来测试平台。但不幸的是,当我运行应用程序时,我收到了以下错误:

Uncaught TypeError: Cannot call method 'clickOnAndroid' of undefined.

昨天工作但今天突然停了。

的index.html

app.initialize();
$('document').ready(function() {    
    $('#current_date').click(function() {               
        window.AndroidShareFunction.clickOnAndroid();           
    })
}); 

主要活动:

final class myInterface {
    myInterface() {
    }
    public void clickOnAndroid() {
        Toast.makeText(getApplicationContext(), "Test", Toast.LENGTH_LONG).show();
    }
}

1 个答案:

答案 0 :(得分:0)

由于您在PhoneGap平台中运行JavaScript应用程序,因此您需要等到PhoneGap完全初始化。换句话说,虽然您的文档因$('document').ready(...)而准备就绪,但某些设备和/或PhoneGap的功能可能不存在,包括window.AndroidShareFunction的初始化。要正确等待PhoneGap初始化,请使用以下代码:

var callback = function () {
    window.AndroidShareFunction.clickOnAndroid(); 
};

$(document).ready(function () {
    document.addEventListener("deviceready", callback, false);
};

希望这有帮助。