【问题标题】:Getting a Chromium WebView on Android 4.4?在 Android 4.4 上获取 Chromium WebView?
【发布时间】:2014-12-17 03:51:04
【问题描述】:

我正在使用 WebView 将 Web 应用程序包装在移动应用程序中。我的应用程序使用音频框架和 webGL,它们都只在 chrome 浏览器中运行。问题是 WebView 默认是 android 系统浏览器。我的音频库和 webGL 不能在系统浏览器中运行,只能在 chrome 中运行。我知道有一种方法可以在 Android 应用程序中获取基于 chrome 的 WebView,因为他们在这里引用它:

https://developer.chrome.com/multidevice/webview/overview

有谁知道如何让 WebView 成为基于 chrome 的?下面是我的 mainActivity.java 代码。

public class MainActivity extends ActionBarActivity {

    private WebView mWebView;

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

        String url = "http://www.cs.stolaf.edu/users/lipson/MusicVisualization/musicVis.html";
        mWebView = (WebView) findViewById(R.id.webView1);

        mWebView.setWebChromeClient(new WebChromeClient());
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.setWebViewClient(new WebViewClient());
        mWebView.loadUrl(url);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

【问题讨论】:

    标签: javascript android google-chrome webview


    【解决方案1】:

    从您引用的链接中,您需要的功能位于 WebView v36 中,该功能仅在 L-preview 中可用,并且在 Android Developer website announcement for Android 5.0 Lollipop 上宣布的 WebView v37/Chromium M37 中可用。

    由于您正在制作音频,因此模拟器可能无法正常工作,因此您最好在设备上进行测试。将您的最低 SDK 设置为 API 21,然后在装有 Android 5.0 的设备上试用您的应用。

    【讨论】:

    • 但链接显示:“Android 4.4 (KitKat) 包含一个基于 Chromium 开源项目的新 WebView 组件。”
    • KitKat 卡在没有 WebGL 或 WebAudio 的 WebView v30。只有当设备升级到 Lollipop 后,它们才会获得 WebView v37 及更高版本。
    • 啊,是的。再仔细阅读一遍后,我明白了。我会尝试在模拟器上运行它,谢谢!
    • 如何查看WebView版本?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多