首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >loadUrl()与CordovaWebView崩溃

loadUrl()与CordovaWebView崩溃
EN

Stack Overflow用户
提问于 2014-08-28 22:16:05
回答 2查看 732关注 0票数 0

我知道这里有一些帖子,但它们并没有解决我的问题。问题是:

我有一个Cordova应用程序(android平台)。在我的activity_main.xml中,我声明了一个CordovaWebView,我想调用loadUrl()方法来加载一个位于“资产”文件夹中的网站。当我调用这个方法时,应用程序崩溃,显示“不幸的是,MyApp已经停止了”。

奇怪的事情我注意到了:

  • 如果我使用API 10或16的设备进行仿真,这个可以很好地工作。如果我用17对它进行测试,它会使不工作
  • 如果我不使用CordovaWebView并直接调用:this.loadUrl("file:///android_asset/www/index.html");,它可以正常工作,但就好像我没有使用我定义的布局(所以我没有广告横幅)。

对这个问题有什么想法吗?

谢谢!

activity_main.xml

代码语言:javascript
复制
    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
   android:id="@+id/layout_home"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent">

       <LinearLayout 
            android:id="@+id/layout_body"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical" 
            android:layout_above="@+id/layout_banner"
            android:background="@color/abc_search_url_text_normal">

            <org.apache.cordova.CordovaWebView
                    android:id="@+id/webview"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="1"
                    android:background="@color/common_signin_btn_dark_text_disabled" />
       </LinearLayout>
       <RelativeLayout
            android:id="@+id/layout_banner"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            android:layout_alignParentBottom="true"
            android:background="@color/wallet_hint_foreground_holo_dark">
       </RelativeLayout>
</RelativeLayout>

MainAcitivy.java

代码语言:javascript
复制
public class MainActivity extends CordovaActivity {

CordovaWebView cwv;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ..LOAD ADVERTISEMENT INTO LAYOUT_BANNER... 

    cwv = (CordovaWebView) findViewById(R.id.webview);
    cwv.getSettings().setJavaScriptEnabled(true);
    cwv.loadUrl("file:///android_asset/www/index.html");
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-30 06:44:52

为什么你需要activity_main.xml和所有安卓的东西,只要使用cordova命令行开始一个新的项目。在标准的cordova项目中,您不需要任何这类xml。

您有cordova插件,用于在cordova web视图中显示admob广告,请参阅http://plugreg.com/search?q=admob

票数 -1
EN

Stack Overflow用户

发布于 2014-09-09 21:04:40

看医生:webview.md.html

代码语言:javascript
复制
cwv = (CordovaWebView) findViewById(R.id.cordovaview);
Config.init(this);
cwv.loadUrl(Config.getStartUrl());

您可以在这里看到一个示例:https://github.com/dam1/sample-android-cordova-webview

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25558873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档