2012-11-16 39 views
0

我正在使用Phonegap應用程序(在Android上),並且使用Phonegap 2.2更新了我的應用程序。 不幸的是,現在我在使用Javascript界面​​時出現錯誤。Phonegap 2.2升級:在NPObject(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(); 
    } 

} 

這就是我如何初始化我的應用程序:

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接口函數時發生錯誤

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

你真的應該從LanguageGlass擴展PhoneGap的Plugin類。這樣你就可以避免這些奇怪的問題。

我可以在你的App類中看到的是,你調用不帶參數的LanguageClass()構造函數,但是在你的LanguageClass類中沒有相應的構造函數。

+0

啊,那沒有關係,我只是在添加我的問題之前嘗試了一些東西,而我沒有正確地把我的項目放回原處。但感謝您的注意。我編輯了我的帖子。所以,它會是插件。 – Mel

相關問題