我知道这里有一些帖子,但他们没有解决我的问题。 事情是:
我有一个Cordova应用程序(android平台)。在我的activity_main.xml中,我已经声明了CordovaWebView,并且我想调用loadUrl()方法来加载我的assets文件夹中的网站。当我调用该方法时,应用程序崩溃显示" UNFORTUNATELY,MyApp已停止"。
我注意到的奇怪的事情:
如果我使用API 10或16的设备进行模拟,则此工作精细。如果我用17测试它会不工作。
如果我不使用CordovaWebView并直接调用:this.loadUrl("file:///android_asset/www/index.html");
它工作正常,但它就像我没有使用我定义的布局(所以我不会'我有我的广告横幅。)
关于这个问题的任何想法??
谢谢!
activity_main.xml中
<?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
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");
}
答案 0 :(得分:0)
查看文档:{{3}}
cwv = (CordovaWebView) findViewById(R.id.cordovaview);
Config.init(this);
cwv.loadUrl(Config.getStartUrl());
您可以在此处查看示例:https://cordova.apache.org/docs/en/3.5.0/guide_platforms_android_webview.md.html
答案 1 :(得分:-1)
为什么你需要activity_main.xml和所有android东西,只需使用cordova命令行启动一个新项目。在标准的cordova项目中,您不需要任何类型的xml。
你有用于在cordova网页视图中显示admob广告的cordova插件,请参阅http://plugreg.com/search?q=admob