我正在使用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时,我没有对此功能进行任何更改。
谢谢你的帮助。
答案 0 :(得分:0)
你应该让LanguageClass从PhoneGap扩展Plugin类。这样你就可以避免这些奇怪的问题。
我在App类中看到的是你调用没有参数的LanguageClass()构造函数,但在你的LanguageClass类中没有相应的构造函数。