Android PhoneGap Cordova 體繫結構

來源:互聯網
上載者:User

a. 在A的onCreate方法中首先調用super. onCreate(),

public void onCreate(Bundle savedInstanceState) {   …   root = new LinearLayoutSoftKeyboardDetect(this, width, height);   …}public void init() {    CordovaWebView webView = new CordovaWebView(DroidGap.this);    this.init(webView,     new CordovaWebViewClient(this, webView),    new CordovaChromeClient(this, webView));}public void init(CordovaWebView webView, CordovaWebViewClient webViewClient, CordovaChromeClient webChromeClient) {    this.appView = webView;    this.appView.setId(100);    …    this.root.addView(this.appView);    setContentView(this.root);}public void loadUrl(String url) {   if (this.appView == null) {      this.init();   }   …}

public void onCreate(Bundle savedInstanceState) {   super. onCreate(Bundle savedInstanceState);   setContentView(resID);   …}

c. 在執行個體化CordovaWebView的時候, CordovaWebView對象會去建立一個屬於當前CordovaWebView對象的外掛程式管理器PluginManager對象,一個訊息佇列NativeToJsMessageQueue對象,一個JavascriptInterface對象ExposedJsApi,並將ExposedJsApi對象添加到CordovaWebView中,JavascriptInterface名字為:_cordovaNative。

public void handleResume(boolean keepRunning, boolean activityResultKeepRunning){        // Send resume event to JavaScript        this.loadUrl("javascript:try{cordova.fireDocumentEvent('resume');}catch(e){console.log('exception firing resume event from native');};");        // Forward to plugins        if (this.pluginManager != null) {            this.pluginManager.onResume(keepRunning);        }        // Resume JavaScript timers (including setInterval)        this.resumeTimers();        paused = false;}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.