Articles of webview

在Webview中添加进度对话框

当网页加载到网页视图中时,我一直在尝试将进度对话框合并到我的应用中,因此不仅有空白屏幕。 我知道这个问题随处可见,但我似乎无法找出对我有用的任何东西。 我是编程和使用android的新手,所以任何信息都会有所帮助。 下面是我现在的代码。 使用onPageStarted我得到了Bitmap的编译错误,我不确定是什么问题。 谢谢。 public class Grades extends Activity{ @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); //requesting system settings requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().requestFeature( Window.FEATURE_PROGRESS); WebView webview = new WebView(this); //web settings WebSettings webSettings = webview.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setDisplayZoomControls(true); webSettings.setBuiltInZoomControls(true); setContentView(webview); //loads webpages in webview instead of launching browser webview.setWebViewClient(new WebViewClient() { ProgressDialog prDialog; @Override public void onPageStarted(WebView […]

如何使用Http Post从WebView检索和修改HTML内容

我正在开发一个Android应用程序,显示HTML页面的某些部分。第一步,我使用此代码提供的代码如何从WebView检索HTML内容 。 完整的HTML图片 那部分我想展示 /* An instance of this class will be registered as a JavaScript interface */ class MyJavaScriptInterface { @SuppressWarnings(“unused”) public void processHTML(String html) { // process the html as needed by the app } } final WebView browser = (WebView)findViewById(R.id.browser); /* JavaScript must be enabled if you want it to work, obviously […]

在webview中加载mobile.twitter的问题

当我尝试在Webview中加载以下URL时,我得到的是带有加载微调器的黑色twitter背景。 在调用WebViewClient.onPageFinished加载页面。 但是,在标准Android浏览器中页面加载正常。 https://twitter.com/#!/scottyab or https://mobile.twitter.com/#!/scottyab 我认为Twitter改变了他们的移动网站,因为这工作大约一个月前。 有没有其他人经历过这个? 更新:启用了javascript mWebView.getSettings().setJavaScriptEnabled(true);

android webview显示空白页面

我有一个Android应用程序,我正在使用在Android 2.3.3上运行的模拟器开发,嵌入式WebView在嵌套在linearlayout(垂直)的framelayout中。 无论我使用什么代码,它实际上从未做过任何事情。 我在android应用程序设置为INTERNET的权限。 即使在尝试加载HTML代码时也是如此。 我得到一个空白的白页,没有任何错误。 在logcat中也没有。 WebView wview = (WebView)findViewById(R.id.webView1); wview.getSettings().setJavaScriptEnabled(true); 我尝试了所有这三个尝试将任何内容加载到webview中: wview.loadUrl(“http://www.google.com”); wview.loadData(“Test”,”text/html”,”utf-8″); wview.loadDataWithBaseURL(null, “Test”,”text/html”,”utf-8″,null); 这三个都给了我相同的结果。 没有。 有任何想法吗?

HTML滚动事件在ScrollView内部的Android WebView中

我有一个用于测试目的的网页( https://storage.googleapis.com/htmltestingbucket/nested_scroll_helper.html ),它只打印html在固定标题中捕获的滚动事件的计数器 当Android WebView是片段中唯一可滚动的元素时,一切都很好,WebView将滚动事件发送到页面 如果我想在WebView的上方和下方添加原生元素,那么事情会变得复杂得多。 我知道在ScrollView中使用WebView并不好,但我必须在html文档中提供混合内容和正确滚动事件的单一滚动体验。 我发现了很多关于此事的问题,但我能够创建一个完整的端到端解决方案 此外,我知道lint有一个官方的检查: NestedScrolling —————摘要:嵌套滚动小部件 优先级:7/10严重性:警告类别:正确性 滚动窗口小部件(如ScrollView)不应包含任何嵌套滚动窗口小部件,因为它具有各种可用性问题 然而,我无法在本机中实现Web视图内容,因此我需要另一种方法来实现

Android webview地理位置数据库无法打开

我有使用javascript geolocation api的网站,并希望它在webview中打开。 我在清单文件中设置了这些权限: 在我的活动中,我还设置了webview设置: webview.getSettings().setDatabaseEnabled(true); webview.getSettings().setDomStorageEnabled(true); webview.getSettings().setGeolocationDatabasePath(“/data/data/com.my.app/databases”); webview.getSettings().setGeolocationEnabled(true); 我还处理了javascript地理定位对话框: webview.setWebChromeClient(new WebChromeClient(){ @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { callback.invoke(origin, true, false); } }); 地理位置本身正在运行,但我无法将地理位置缓存到数据库中。 它应该自己进入CachedGeoposition.db,但是当我启动webview时,我得到了这个奇怪的SQLite错误: E/SQLiteLog(22653): (14) cannot open file at line 30174 of [00bb9c9ce4] E/SQLiteLog(22653): (14) os_unix.c:30174: (2) open(/CachedGeoposition.db) – D/WebKit (22653): ERROR: D/WebKit (22653): SQLite database failed to load from /CachedGeoposition.db […]

Android – Webview,输入框加倍?

我正在尝试创建一个使用webview的Android应用程序,允许用户输入他们的用户名/密码,但点击输入框后,他们会加倍(见下图)。 我正在使用iScroll jQuery插件,允许用户在键盘出现时滚动页面并阻止输入区域。 这是layout / css: CSS: #scroller{ position:absolute; overflow:hidden; top: 0; bottom: 0; left: 0; right: 0; z-index:0; } #scroll_content { margin-top: 70px;/*must match the topbar height*/ padding-bottom:70px; } HTML: … … 我注意到,无论我在Android平台上查看哪个网页,它都会在我刚刚点击的输入上覆盖一个额外的输入框。 我想,关键是在这种情况下禁用webview的默认值? 你是怎么做到的,或者你甚至可以吗? 谢谢

Android WebView中的WebSocket

今天我的问题是我正在开发一个使用WebSocket的应用程序。 在iOS上一切正常,但在Android上,WebView不支持WebSocket。 什么是解决这个问题的最快/最优雅的方式? [编辑] 由于经常查看这篇文章,我想分享一些可能的解决方案。 解决方案: Java Websocket客户端实现和JavaScript接口 PHP Websocket客户端实现并向PHP脚本发出后台(即jQuery GET)请求(因为我只想发送一行消息,因此对我有用。) Android Websocket库 http://autobahn.ws/ http://code.google.com/p/weberknecht 有人有同样的问题,并描述了他的工作方式 http://chpeck.tumblr.com/post/37273036645/socket-io-with-android–webview

单击链接时,从Android WebView中的锚标记获取href值

我在WebView中加载一个网页。 网页上有一个链接,在桌面上会下载文件,但在应用程序中,链接应显示Toast,表示该应用程序的链接已禁用。 单击链接时,我不确定如何从锚标记的href获取值。 Download Audio 有人可以分享有关如何执行此操作的想法或任何示例代码。 编辑:1 这是我目前正在做的事情: private static final String URL = “http://xx.xxx.com/wp-content/uploads/”; webView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { WebView.HitTestResult hr = ((WebView) v).getHitTestResult(); String extra = hr.getExtra(); if (extra != null && extra.startsWith(URL) && extra.endsWith(“.mp3”)) { Log.d(“WebviewActivity”, “Extra: ” + extra); Log.d(“WebviewActivity”, […]

如何使用适合屏幕在所有设备中显示Webview内部的WebPage的某些部分

我想在WebView中显示WebPage。 到目前为止,这很好。 但我有WebPage(如下所示),我想要它的某些部分。 我的意思是只有左上角应该在所有设备中都适合屏幕模式。 我在过去两三天就解决了这个问题。 我想要的是:我希望显示网页的左上角以显示内部Webview,无论Stratergy可能是缩放或任何其他选项,但它应该适合所有设备的屏幕。 还有一件事我无法改变网页的源代码,因为它是固定的。 我必须通过代码本身进行管理。 我尝试了什么:我已经引用Stackoverflow链接但没有运气。 这是我的代码。 : WebView wv; wv = (WebView) findViewById(R.id.webview_MyPoops); wv.getSettings().setJavaScriptEnabled(true); // wv.setInitialScale(185); // wv.setInitialScale(30); String URL = “MY_LINK”; wv.loadUrl(URL); WebSettings webSettings = wv.getSettings(); webSettings.setSavePassword(false); webSettings.setSaveFormData(false); webSettings.setJavaScriptEnabled(true); webSettings.setSupportZoom(true); webSettings.setLoadWithOverviewMode(true); webSettings.setUseWideViewPort(true); 我正在获取设备中显示的完整网页。 它在我的LG设备(分辨率为480 * 800)中运行良好,但在大设备或像Galaxy Tab2这样的标签中,我得到的是左上角非常小的图像,所有其他屏幕区域只是WebPage的背景。 以下是运行上述代码后Galaxy Tab2的屏幕截图。 请你有任何我缺乏的建议。 提前致谢。