Articles of android webview

Android webview不会加载我的url,但会加载其他url

我在android上有一个webiew应用程序加载一些网站,但不是我需要的网站。 我不知道这是网站主机的问题还是我可以在我的应用中做的事情。 基本上我有一个我正在为大学做的在线作品集,我希望通过将它构建到一个应用程序中让自己看起来更好。 投资组合网站包含一个移动版本,因此它已经为此设置,并且在我的手机上的Chrome浏览器中工作正常。 它曾经使用旧网站,它加载谷歌所以我知道我有互联网权限。 不确定这是否与我的新网站有关,或者我只是需要改变一些东西以使其有效。 在Chrome浏览器中,它看起来应该是这样,目前还不好,因为我想在添加内容之前先做这件事。 这是它的外观。 (不能直接发布截图,因为我没有足够的代表,对不起) 这是我的主要应用代码: package com.broadbentstudios; import android.annotation.SuppressLint; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.webkit.WebView; import android.webkit.WebViewClient; import com.parse.ParseAnalytics; @SuppressLint(“SetJavaScriptEnabled”) public class ParseStarterProjectActivity extends Activity { WebView webView; /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webView = (WebView) findViewById(R.id.mainWebView); […]

在android中显示静态html页面

我试图在我的资产文件夹中显示一个html文件,但在Web视图中,我看到白色的空白页。 我只从stackflow得到了类似的例子。 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final String mimeType=”text/html”; final String encoding=”UTF-8″; String htmlString=””; Document doc; WebView wv= new WebView(this); Elements link = null; setContentView(wv); try{ InputStream in=getAssets().open(“myweb.html”); byte[] buffer= new byte[in.available()]; in.read(buffer); in.close(); wv.loadData(new String(buffer), mimeType, encoding); } catch(IOException e) { Log.d(“MyWebView”, e.toString()); } }

如何在WebView中处理基本身份validation

我创建了一个加载WebView的应用程序。 要登录,网站需要基本身份validation。 当我尝试通过默认浏览器访问网站时,我popup一个popup框提示我输入我的用户名和密码。 如果我尝试通过我的应用程序访问该网站,我收到错误401并且没有popup。 我想知道是否有人可以帮助我?

最近发生了很多DeviceMotionService的NPE

最近我在Google Play商店中的应用获得了很多DeviceMotionService的NPE。 以下是堆栈: java.lang.NullPointerException at android.webkit.DeviceMotionService$2.run(DeviceMotionService.java:103) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:1067) at java.lang.Thread.run(Thread.java:856) 我对这个问题一无所知。 我在我的应用程序中使用了WebView 。 但我检查了源代码。 它似乎是android framework / webkit中的一个深层function。

使用WebView显示GIF图像

有人可以提供一个代码来在webview中显示GIF图像(我已经能够使用png图像的帧animation显示相同的内容)现在我想要一种方法来显示GIF图像而不是加载帧或再次绘制图像然后再次!

file:/// android_res / drawable在使用flavor与其他包名称时不起作用

我的问题是,在我向我的项目添加了flavor之后,使用与实际源不同的包名称的风味似乎在访问android_res/drawable的文件时出现问题。 更具体地说,我有一个调用下图的html视图。 该图像显示在生产flavor中,其包名称与java文件的目录相同,但它不适用于beta版本: productFlavors { production { packageName “com.company.myapp” } beta { packageName “com.company.beta” } } 其中包含java文件的实际目录 java/com/company/myapp 这很奇怪,因为资源甚至不在该文件夹中。

单击链接时,从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的屏幕截图。 请你有任何我缺乏的建议。 提前致谢。

在平板电脑中制作webview可模拟小型设备

我有一个非常适合智能手机等小型设备的移动网站,但它在平板电脑上看起来不太好 。 我正在使用webview来显示网站。 此webview占据了所有屏幕区域。 有什么方法可以让webview模拟一个小设备吗? 我没有从文档中得到什么组合选项( getLoadWithOverviewMode , setUseWideViewPort , setDefaultZoom )将使我实现我想要的。 任何帮助将不胜感激。 Obs:我已经尝试过设置文本缩放( setTextZoom(int) )。 它有点好,但不如智能手机好。 Obs2:我无法更改网站。 🙁 更新: 如果我将webview宽度更改为720像素,则html页面将更改为移动布局并显示良好。 现在我想这样做,但保持webview的全宽。 就像欺骗html页面一样,认为webview宽度比实际小。 Obs:缩放不起作用。 html页面没有启用它。 我认为这不是一个好方法,因为缩放不会改变感知的webview大小。

加载数据时WebView重绘问题

我在我的一个应用程序中遇到了使用webview显示的问题。 当我调用loadData时,webview首先显示文本,然后加载页面的图像(标准行为)。 有时,如果这些图像修改文本位置,则不清除旧文本位置,并显示旧文本和新文本+图像 这里是问题发生时的截图: 这就像webview没有正确地重绘它的内容。 当然一个简单的invalidate()不起作用…… 它不会经常发生,但可以说超过20次。 用于显示数据的代码(称为外部活动生命周期方法): // Include the html headers to the content received from WS String webtext = String.format(ConfigApp.HTML_BODY, wsdata.getText()); mWebView.setWebChromeClient(…); mWebView.setWebViewClient(…); mWebView.setBackgroundColor(0); mWebView.loadDataWithBaseURL(null, webtext, “text/html”, “UTF-8”, null); 知道如何解决这个问题吗?