Articles of webview

点击链接时,Android WebView崩溃

我的Activity有一些WebView小部件。 我使用loadData()来设置内容,并且这个html包含一个链接。 我的一些WebViews工作正常,当我点击链接时,Web浏览器是在新窗口中启动的,但有一些让我的应用程序崩溃,当我点击一个链接。 10-13 08:45:24.257: ERROR/AndroidRuntime(751): Uncaught handler: thread main exiting due to uncaught exception 10-13 08:45:24.308: ERROR/AndroidRuntime(751): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? 10-13 08:45:24.308: ERROR/AndroidRuntime(751): at android.app.ApplicationContext.startActivity(ApplicationContext.java:627) 10-13 08:45:24.308: ERROR/AndroidRuntime(751): at android.content.ContextWrapper.startActivity(ContextWrapper.java:236) 10-13 08:45:24.308: ERROR/AndroidRuntime(751): at android.webkit.CallbackProxy.uiOverrideUrlLoading(CallbackProxy.java:185) 10-13 08:45:24.308: ERROR/AndroidRuntime(751): […]

如何通过React Native在Android WebView中隐藏滚动条

在React Native 0.26和Android中使用WebView时,滚动条总是在内容加载时闪烁,因为我们在页面上显示了一些内容,这很让人分心。 React Native只列出了ScrollEnabled,所以无论如何在Android上隐藏这些滚动条? 非常感谢,文斯

Android的webview崩溃“致命信号5(SIGTRAP)”

我有一个webview的应用程序,其中我加载的HTML内容启用JavaScript。 webview是在一个片段。 这是我如何初始化片段的onCreateView方法内的webview: WebView webview = (WebView) mainView.findViewById(R.id.webview); WebSettings webSettings = webview.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setDisplayZoomControls(false); webSettings.setLoadsImagesAutomatically(true); webSettings.setBuiltInZoomControls(true); webSettings.setDomStorageEnabled(true); webSettings.setSupportMultipleWindows(true); webview.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); /* * My code */ } }); webview.setWebChromeClient(new WebChromeClient() { @Override public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) { WebView.HitTestResult result […]

保存/恢复android webview的状态

我有一个简单的webView应用程序,从我们的网站加载一个页面的位置和电话号码,我们的领域人应该访问每一天。 它提供了一个挂钩来启动导航或拨打电话。 从外部活动返回时,应用程序崩溃。 打到手机的主页button,然后拨打电话,然后返回到应用程序工作正常。 这是代码 更新2 – 不再崩溃,webview返回时是空白的 public class VSIMobile_WebView extends Activity { private static String PROVIDER="gps"; private WebView browser; private LocationManager myLocationManager=null; private TelephonyManager myTeleManager = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); browser=(WebView)findViewById(R.id.webview); myLocationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE); myTeleManager=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); browser.getSettings().setJavaScriptEnabled(true); browser.addJavascriptInterface(new Locater(), "locater"); browser.addJavascriptInterface(new JavaScriptInterface(this), "Android"); if (savedInstanceState!=null){ browser.restoreState(savedInstanceState); }else{ browser.loadUrl("http://zzz.com"); browser.setWebViewClient(new […]

Android WebView内的Flash – 如何自动设置全屏?

我正在将Flash SWF加载到Android WebView中。 我希望SWF能够立即全屏和专注。 处理flash的类名是com.adobe.flashplayer.FlashPaintSurface 。 看着日志,当我手动全屏闪光,它调用com.adobe.flashplayer.FlashPaintSurface.toggleFullScreen() 。 我的问题的第一部分是:我怎样才能手动调用我的Flash SWF的方法? 请注意,对于embedded了Flash的surfaceview ,我似乎能够正确全屏显示它的唯一方式(使Flash的surfaceview全屏,而不是在surfaceview webview view顶部显示Flash)通过用两根手指触摸屏幕直到界面popup在屏幕的顶部,并不可靠地发生。 为了关注,在我的webview类中,我打电话给: @Override protected boolean drawChild (Canvas canvas, View child, long drawingTime) { if (child.getClass().getName().equals("com.adobe.flashplayer.FlashPaintSurface")) { child.requestFocus(); } return super.drawChild(canvas, child, drawingTime); } 这并没有像我想的那样设定重点。 尽pipe我认为,如果正确的完全筛选,FlashPaintSurface应该给自己的焦点。 但是如果第一部分是不可行的,那么至less不必在启动时点击SWF来关注SWF。 请注意,我正在dynamic地执行此操作,不会调用我自己创build的SWF,所以我无法使用Actionscript来解决此问题。

WebView中的video – ApplicationContext与活动上下文

我在WebView播放video。 如果要避免内存泄漏,则必须使用ApplicationContext (与Activity上下文相对)来实例化WebView ( 请参阅此 ) 如果我通过ApplicationContext和VideoView内的video需要创build一个对话框(通常为'不能播放这个video'),我得到一个BadTokenException ( 请参阅此 ) 我们是否期望在内存泄漏或潜在的ANR之间做出决定?

WebView shouldOverrideUrlLoading在以前的Android版本中工作,除了4.1.x jellybean

以下代码在运行Android 2.x的所有设备上都能正常工作,但不能在4.1.2的Nexus 7平板电脑上正常工作 问题是shouldOverrideUrlLoading永远不会运行。 onPageFinished运行正常 我会感激任何可用的帮助。 wv = (WebView) root_view.findViewById(R.id.wv); wv.setBackgroundColor(res.getColor(R.color.def_bgr_color)); wv.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); wv.setWebViewClient(new MyWebViewClient() ); WebSettings web_settings = wv.getSettings(); web_settings.setJavaScriptEnabled(true); web_settings.setLoadWithOverviewMode(true); web_settings.setUseWideViewPort(false); web_settings.setPluginsEnabled(true); web_settings.setSupportZoom(true); web_settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); public class MyWebViewClient extends WebViewClient { public MyWebViewClient() { } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.i(TAG, "RUN shouldOverrideUrlLoading" ); return true; } @Override public void onPageFinished(WebView view, […]

Android:在Webview的应用程序中显示.mht或.mhtml

我们正在开发一个应用程序,我们需要显示演示文稿(PowerPoint)文件(.ppt或.pptx).. 我们听说在Android中没有API可用于在我们的应用程序中显示演示文件文件。 所以我们试图将该演示文件文件转换为“.mht”格式,因为我们已经知道WebView能够显示.mht文件,而.mht也可以有演示文稿。 现在我的问题是:如何在Webview中正确地查看.mht文件? 我们已经提到了下面提到的这些链接: WebView在Android中加载Mht文件 在Android上显示.mht文件 Android WebView – >显示WebArchive 不知何故上面提到的链接已经帮助,但不是如预期的那样。 任何进一步的帮助将不胜感激..

Webview到PDF忽略作业名称

我试图从KitKat(4.4.4)的webview上打印HTML页面,基本上使用Google API文档中提供的示例代码。 因此,我设置了一个打印作业名称如下: String jobName = getString(R.string.app_name) + " Document"; PrintJob printJob = printManager.print(jobName, printAdapter, new PrintAttributes.Builder().build()); 我的代码运行良好,页面按预期打印。 即使用户在Android标准打印对话框中select“另存为PDF”选项,代码也会呈现一个漂亮的PDF,用户可以select一个文件名。 在这一点上,我期望Android使用存储在jobName字段中的string作为文件名。 相反,它总是使用webview作为文件名,尽pipe我的代码不包含webview作为string。 有没有办法设置另一个默认名称来存储在我的应用程序中生成的PDF文件? 感谢您的提示… 更新: 我花了一些额外的时间调查这个问题,我发现WebView使用AwPrintDocumentAdapter作为打印适配器,如果适配器是通过调用API文档中build议的createPrintDocumentAdapter()创build的。 然后该类调用PrintDocumentInfo.Builder("webview") ,这似乎是为什么PDF总是被命名为“webview”。 一些研究揭示了AwPrintDocumentAdapter的以下代码片段 : @Override public void onLayout(PrintAttributes oldAttributes, PrintAttributes newAttributes, CancellationSignal cancellationSignal, LayoutResultCallback callback, Bundle metadata) { mAttributes = newAttributes; // TODO(sgurun) pass a meaningful string once b/10705082 is […]

如何从Android WebView获取完整的Cookie数据?

我有一个使用WebView的Android应用程序。 我试图获取所有的数据包括他们的所有数据,包括他们的“path”数据,“max-age”,“hostOnly”标志和“安全”标志(如谷歌Chrome的chrome.cookies.getAll()扩展API) 。 CookieManager.getCookie()只返回cookie的名称和值对。 我怎样才能提取饼​​干的所有“原始数据”?