Cordova webview inside Android Fragment on Cordova 4.0

前端 未结 3 1490
迷失自我
迷失自我 2021-02-08 06:46

I just upgraded to cordova 4.0 for android. I used the following post to load a cordova webview inside a fragment..

https://github.com/Adobe-Marketing-Cloud-Apps/app-sa

3条回答
  •  被撕碎了的回忆
    2021-02-08 07:44

    I had the same problem and I have resolved it as show below. In the first example, I embed a CordovaWebView inside an activity. Be careful with cordova 4.0 we can't include a CordovaWebView inside our layouts, so in previous cordova versions CordovaWebView extends WebView but since Cordova 4 this is an interface, so we have to include a org.apache.cordova.engine.SystemWebView. If you see the code you can see that you have to override the methods makeWebView() and createViews() that are called through super.init().

    Example 1: Cordova inside an Activity

    MainActivity.java

    public class MainActivity extends CordovaActivity{
            @Override
            public void onCreate(Bundle savedInstanceState)
            {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);       
    
                super.init();
                // Load your application
                launchUrl = "file:///android_asset/www/index.html"
                loadUrl(launchUrl);
    
            }
    
            @Override
            protected CordovaWebView makeWebView() {
                SystemWebView webView =SystemWebView)findViewById(R.id.cordovaWebView);
                return new CordovaWebViewImpl(new SystemWebViewEngine(webView));
            }
    
            @Override
            protected void createViews() {         
                appView.getView().requestFocusFromTouch();
            }
        }
    

    activity_main.xml:

    
            
    
            
        
    

提交回复
热议问题