如何从android.app.Activity调用Ionic

时间:2019-05-21 03:13:05

标签: javascript java android ionic-framework

我正在建立一个.aar库,其中包含使用Ionic构建的活动。该平台已从Ionic平台构建迁移到Android Studio以构建aar。

.aar中的MainActivity正在扩展android.app.Activity类,而不是CordovaActivity。这是为了允许使用.aar的外部android应用调用嵌入在.aar中的活动。

我在调用Ionic活动时遇到了困难,因为index.html静态显示。如何使用仍然允许其像Ionic页面一样流动的WebView从MainActivity调用Ionic页面?

我尝试调用index.html,但它显示一个静态的空白页面。 我试图放入Javascript来加载主页,但效果不佳。 我尝试使用深层链接,但由于它位于.aar中,因此找不到。

我的代码:


import android.os.Bundle;
import org.apache.cordova.*;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebSettings;
import android.app.Activity;

public class MainActivity extends Activity  //this is changed from CordovaActivity
{
    String launchUrl = "";
    WebView mWebview = null;


    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        launchUrl = "file:///android_asset/www/index.html";  //call the page

        mWebview  = new WebView(this);
        mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript
        WebSettings webSetting = mWebview.getSettings();
        webSetting.setBuiltInZoomControls(true);
        webSetting.setJavaScriptEnabled(true);
        mWebview.setWebViewClient(new WebViewClient());
        mWebview.loadUrl(launchUrl);  //this just displays static empty index.html
        setContentView(mWebview );




    }
}

1 个答案:

答案 0 :(得分:0)

最后,我不得不从Cordova Activity重写loadUrl并将其插入Activity类。这是我猜想在Cordova Activity的解析中使用Activity类的唯一方法。 谢谢。