小编doo*_*guy的帖子

Android webview无法加载某些页面

我有一个简单的网络视图来通过网络显示网页。它可以很好地加载大多数页面,但每当我尝试加载时http://www.nytimes.com,它都会显示为空白。此时的logcat是:

09-11 11:26:18.428 10567-10630/com.project.test.webviewtest W/cr_media: Requires BLUETOOTH permission
09-11 11:26:18.454 10567-10567/com.project.test.webviewtest W/cr_AwContents: onDetachedFromWindow called when already detached. Ignoring
09-11 11:26:18.470 10567-10567/com.project.test.webviewtest I/cr_Ime: ImeThread is not enabled.
09-11 11:26:18.486 10567-10650/com.project.test.webviewtest D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
09-11 11:26:18.512 10567-10657/com.project.test.webviewtest E/libEGL: validate_display:255 error 3008 (EGL_BAD_DISPLAY)
09-11 11:26:18.530 10567-10650/com.project.test.webviewtest I/OpenGLRenderer: Initialized EGL, version 1.4
09-11 11:26:18.538 10567-10657/com.project.test.webviewtest W/VideoCapabilities: Unrecognized profile 2130706433 for video/avc
09-11 11:26:18.557 10567-10657/com.project.test.webviewtest I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es
09-11 11:26:18.926 10567-10567/com.project.test.webviewtest W/cr_BindingManager: Cannot call determinedVisibility() - never saw a …
Run Code Online (Sandbox Code Playgroud)

android webview chromium

5
推荐指数
1
解决办法
6207
查看次数

即使在修改设置或使用 js 后,Android webview 也无法自动播放 youtube 视频

我正在 Android N 上测试我的应用程序并尝试在我的 web 视图中加载 youtube 页面并自动播放它们。这是我的onCreate

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mWebView = (WebView) findViewById(R.id.activity_main_webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.setWebViewClient(new TestWebViewClient());
    mWebView.setWebChromeClient(new WebChromeClient());
    mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);


    mWebView.loadUrl("https://www.youtube.com/watch?v=hzz_6dmv03I?autoplay=1");
    //mWebView.loadUrl("https://vimeo.com/117116735");
}
Run Code Online (Sandbox Code Playgroud)

加载页面时,上述内容不会自动播放 youtube 或 vimeo 视频。我还尝试将以下内容添加到我的TestWebViewClient

public class TestWebViewClient extends WebViewClient {
    public void onPageFinished(WebView view, String url) {
        view.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); 
    }
}
Run Code Online (Sandbox Code Playgroud)

这实际上成功地自动播放了 vimeo 视频链接,但是当我在 youtube 视频链接上使用它时,我收到以下错误:

Uncaught TypeError: Cannot read property 'play' of undefined
Run Code Online (Sandbox Code Playgroud)

对于 youtube 视频,我还尝试在查找其类名后模拟单击播放按钮,但这也不起作用:

public class TestWebViewClient extends WebViewClient {
    public void onPageFinished(WebView …
Run Code Online (Sandbox Code Playgroud)

youtube video android webview

1
推荐指数
1
解决办法
1562
查看次数

Qt5.0事件过滤器单击鼠标即可多次调用事件过滤器

我在Qt5.0中有一个应用程序,我在其中安装了一个事件过滤器来监听单击鼠标,如下所示:

bool MainView::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::MouseButtonPress)
  {
    QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(event);
    int mx=mouseEvent->pos().x(),my=mouseEvent->pos().y();

    qDebug() << QString::number(mx)<<" "<<QString::number(my);
...
}
}
Run Code Online (Sandbox Code Playgroud)

每次单击时,函数都会多次调用,并返回大范围内的多个值,通常在与实际值相差+/- 50的范围内.任何人都可以解释为什么会发生这种情况或者是否有人遇到过类似的问题.事件过滤器已在构造函数中安装为qApp-> installEventFilter(this);

qt mouseevent

0
推荐指数
1
解决办法
2728
查看次数

标签 统计

android ×2

webview ×2

chromium ×1

mouseevent ×1

qt ×1

video ×1

youtube ×1