How do you disable all touch events in an Android WebView (or scrolling in particular)? I would like the activity to handle all touch events.
我的平板电脑Android版本为7.0,Chrome版本为62.0.3202.84.
首次运行我的webview应用程序时,调试窗口显示
没有找到类"android.webkit.RenderProcessGoneDetail
RenderProcessGoneDetail是android 8.0 API
如何防止出现错误消息?
11-28 13:23:13.133 28584-28584/com.himart.omni.himartomniapp I/cr_BrowserStartup: Initializing chromium process, singleProcess=true
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art: Rejecting re-init on previously-failed class java.lang.Class<com.android.webview.chromium.eb>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/RenderProcessGoneDetail;
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art: at com.android.webview.chromium.Ap com.android.webview.chromium.WebViewChromiumFactoryProvider.G(android.webkit.WebView, android.content.Context) (WebViewChromiumFactoryProvider.java:323)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art: at void com.android.webview.chromium.WebViewChromium.init(java.util.Map, boolean) (WebViewChromium.java:42)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art: at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int, java.util.Map, boolean) (WebView.java:636)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art: at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, int, int) (WebView.java:572)
11-28 13:23:13.273 28584-28584/com.himart.omni.himartomniapp I/art: at void android.webkit.WebView.<init>(android.content.Context, android.util.AttributeSet, …Run Code Online (Sandbox Code Playgroud) 是否可以在WebView中加载URL并调整其大小以适应屏幕?我的意思是我想让WebPage变小,以便用户不需要滚动.这可能吗?
在我的应用程序中,我正在制作基本的HTML帮助文档.我想在HTML img标签中使用我的应用程序徽标,但我不知道如何引用将存储在资产中的徽标.
这有可能,如果是这样的话怎么样?
谢谢您的帮助!
我正在开发一个Android应用程序,用于过滤请求(使用白名单)并使用自定义SSLSocketFactory.为此,我开发了一个自定义WebViewClient,我已经覆盖了该shouldInterceptRequest方法.我可以过滤和使用我SocketFactory的GET请求,但我不能拦截POST请求.
那么,有没有办法拦截POST请求WebView?
这是shouldInterceptRequest方法的代码:
public final WebResourceResponse shouldInterceptRequest(WebView view, String urlStr) {
URI uri = URI.create(urlStr);
String scheme = uri.getScheme();
// If scheme not http(s), let the default webview manage it
if(!"http".equals(scheme) && !"https".equals(scheme)) {
return null;
}
URL url = uri.toURL();
if(doCancelRequest(url)) {
// Empty response
Log.d(TAG, "URL filtered: " + url);
return new WebResourceResponse("text/plain", "UTF-8", new EmptyInputStream());
} else {
Log.d(TAG, "URL: " + url);
HttpURLConnection conn = (HttpURLConnection) …Run Code Online (Sandbox Code Playgroud) 因此,Android中存在WebView硬件加速的已知错误,请参见此处:https://code.google.com/p/android/issues/detail?id = 17352
禁用硬件加速不是我的选择.
我读过这些很棒的参考资料:
我的问题是,如果打开HWA,是否有人知道任何CSS/HTML变通方法以防止可能发生的渲染伪像?
当我将焦点放在表单字段时,我只会看到它们,它似乎会导致vsync-esque和subpixel gitches.当我关注这个领域时,整个页面似乎都是抖动的.
这似乎position: absolute与此有关.
有没有人解决这个问题?
我正在WebView中播放YouTube视频.我可以播放它,但是当这个人离开屏幕时,我无法阻止播放音频.
我在onDestroy和onPause中尝试了各种各样的东西,或完全取出它们,但它们似乎没有什么区别.
有人知道为什么音频会继续播放并且即使在应用关闭并且用户打开其他应用后也不会停止播放?
这是我全班的代码:
import com.flurry.android.FlurryAgent;
import utils.SendEmail;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebSettings.PluginState;
import android.widget.Button;
public class YoutubeActivity extends Activity
{
WebView webview = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
webview = new WebView(this);
setContentView(webview);
webview.getSettings().setAppCacheEnabled(false);
webview.getSettings().setJavaScriptEnabled(true);
webview.setInitialScale(1);
webview.getSettings().setPluginState(PluginState.ON);
WebSettings webSettings = webview.getSettings();
webSettings.setLoadsImagesAutomatically(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setUseWideViewPort(true);
webview.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView …Run Code Online (Sandbox Code Playgroud) 在使用Nexus5仿真器的Android Studio 1.4中,每次在webview中使用GSAP都有3D动画(x,y,rotationX,rotationY,rotationZ)时,logcat会发出大量此消息:
Attempt to remove non-JNI local reference, dumping thread
Run Code Online (Sandbox Code Playgroud)
这似乎不会影响我的webapp的行为,除了产生消息时的一些口吃,这对于需要几秒钟完成的动画来说是多次.
关于如何停止的任何想法,或者这甚至是一个问题?
更新:我的测试设备,三星Galaxy S4上没有出现错误.所以它可能只是一个模拟器问题.
我有一个React Native App,它使用WebView从资产中呈现HTML页面.该页面有一些javascript进行一些处理.问题是我无法console.log从Web视图中看到这些语句.我尝试过Chrome 远程调试WebViews
这是代码的样子.请注意,对于Android,我试图提供一些本机道具来启用调试.
import React from 'react';
import Expo from 'expo';
import { WebView } from 'react-native';
export default class App extends React.Component {
render() {
const htmlURL = Expo.Asset.fromModule(require('./assets/index.html')).uri;
return (
<WebView nativeConfig={{props: {webContentsDebuggingEnabled: true}}}
source={{uri: htmlURL}} />
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
Run Code Online (Sandbox Code Playgroud)
关于如何运作的任何想法将受到高度赞赏.
非常简单.是否可以静音或控制JavaFX WebView的音量?我用谷歌搜索了一段时间,但我找不到任何提及.我查看了代码,WebView并且WebEngine似乎没有关于控制音量的任何内容.
我仍然需要MediaPlayer在同一个应用程序中的其他s工作和产生声音,所以,我不能将整个应用程序静音.