0

我正在开发一个 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 时我没有更改此功能的任何内容。

谢谢你的帮助。

4

1 回答 1

0

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

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

于 2012-11-16T19:07:31.990 回答