【问题标题】:Phonegap 2.2 upgrade: Error calling method on NPObject (Javascript Interface)Phonegap 2.2 升级:在 NPObject(Javascript 接口)上调用方法出错
【发布时间】:2012-11-16 17:18:18
【问题描述】:

我正在开发一个 Phonegap 应用程序(在 Android 上),我用 Phonegap 2.2 更新了我的应用程序。 不幸的是,现在我在使用 Javascript 接口时遇到了错误。

Uncaught Error: Error calling method on NPObject. at file:///android_asset/www/dossier_med_list.html#/android_asset/www/dossier_med_new.html:22

使用Javascript接口函数时出现错误:

var tel = window.language_classe.getSystemPhoneNumber() ;

这就是类的制作方式:

import org.apache.cordova.DroidGap;

import android.content.Context;
import android.telephony.TelephonyManager;
import android.webkit.WebView;

public class LanguageClass {
    private WebView mAppView;
    private DroidGap mGap;
    private Context mContext;


    public LanguageClass( DroidGap gap, WebView view, Context context) {
        mAppView = view;
        mGap = gap;
        mContext = context;

    }

    public String getSystemPhoneNumber() {
        TelephonyManager tMgr = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
        return tMgr.getLine1Number();
    }

}

这就是我初始化应用程序的方式:

   public class App extends DroidGap
   {
    private LanguageClass language;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.init();
        language = new LanguageClass(this, appView, this.getBaseContext());
        appView.addJavascriptInterface(language, "language_classe");

        super.setIntegerProperty("loadUrlTimeoutValue", 60000);
        super.setIntegerProperty("splashscreen", R.drawable.splash);
        super.loadUrl("file:///android_asset/www/accueil.html", 150000);
    }

}

任何线索为什么会发生这种情况?我在文档中没有看到任何有关此问题的信息,并且在更新到 Phonegap 2.2.0 时我没有更改此功能的任何内容。

感谢您的帮助。

【问题讨论】:

    标签: java android cordova


    【解决方案1】:

    你真的应该让 LanguageClass 从 PhoneGap 扩展 Plugin 类。这样你就可以避免这些奇怪的问题。

    我在您的 App 类中看到的是,您调用了没有参数的 LanguageClass() 构造函数,但在您的 LanguageClass 类中没有相应的构造函数。

    【讨论】:

    • 啊,那不相关,我只是在在这里添加我的问题之前尝试了一些东西,但我没有正确地重新启动我的项目。但感谢您的注意。我编辑了我的帖子。所以,插件就可以了。
    猜你喜欢
    • 1970-01-01
    • 2014-01-25
    • 2011-12-30
    • 1970-01-01
    • 2010-11-27
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多