Questions tagged «android-webview»

Android API的一部分。显示网页的视图。该类是您可以滚动自己的Web浏览器或仅在Activity中显示一些在线内容的基础。

8
调用loadurl时,Android Webview启动浏览器
我创建了一个Activity具有标题和Web视图的LinearLayout。在onResume()方法中调用webView.loadUrl(url)。问题在于活动首先显示标题,其余屏幕为空白,然后启动设备浏览器并显示URL页面。我想看到的是WebView标题下方显示的页面。可能是什么问题呢? 编辑:好的,做了一些进一步的搜索,找到了这个: 单击URL将打开默认浏览器 它指向此处的WebView教程。 只需实现Web客户端并进行设置即可。


17
如果在WebView中按下后退按钮,如何返回上一页?
我有一个可以在其中WebView显示一些网站的应用程序。它的工作原理是,单击网页中的链接可转到应用程序内网站的下一页。但是,当我单击手机的后退按钮时,它将带我直接进入我的应用程序。我想返回网站的上一页。我怎样才能做到这一点? 这是我正在使用的代码示例: public class Webdisplay extends Activity { @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.getWindow().requestFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.webdisplay); getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); Toast loadingmess = Toast.makeText(this, "Cargando El Diario de Hoy", Toast.LENGTH_SHORT); loadingmess.show(); WebView myWebView; myWebView = (WebView) findViewById(R.id.webview); myWebView.getSettings().setJavaScriptEnabled(true); myWebView.loadUrl("http://www.elsalvador.com"); myWebView.setWebViewClient(new WebViewClient()); myWebView.setInitialScale(1); myWebView.getSettings().setBuiltInZoomControls(true); myWebView.getSettings().setUseWideViewPort(true); final Activity …

6
单击URL将打开默认浏览器
我已经在中加载了外部URL WebView。现在我需要的是,当用户单击所加载页面上的链接时,它必须像普通浏览器一样工作,并在同一浏览器中打开该链接WebView。但是它正在打开默认浏览器并在其中加载页面吗? 我启用了JavaScript。但仍然无法正常工作。我忘记了什么吗?

4
将HTML文件加载到WebView中
我有一个本地html页面以及它要指向的其他几个资源(css文件和Javascript库),我想将它们加载到WebView中。如何实现呢? 也许这不是进行下一步的最佳方法,但我仍在尝试。

4
真的应该弃用`shouldOverrideUrlLoading`吗?我可以用什么代替呢?
真的不建议使用“ shouldOverrideUrlLoading”吗?如果是这样,我该怎么用呢? 似乎shouldOverrideUrlLoading已淘汰了针对Android N的应用程序,并且自API 19起直到现在为止最新的Android N(测试版),我都需要使应用程序正常工作,我使用了Android N中的一些新功能(例如Data Saver),因此定位棉花糖将无法解决该问题,因为我需要使用这些新功能,这是我使用的代码的一部分: public boolean shouldOverrideUrlLoading(WebView webview, String url) { if (url.startsWith("http:") || url.startsWith("https:")) { ... } else if (url.startsWith("sms:")) { ... } ... } 这是Android Studio给我的消息: 覆盖'android.webkit.WebViewClient'中不推荐使用的方法此检查报告在指定检查范围中使用不推荐使用的代码的情况。 谷歌对此不提任何说法。 我想知道@SuppressWarnings("deprecation")从API 19开始直到最新的Android N Beta(以及发布时的最终版本),使用后是否可以让我在所有设备上工作,我无法自己对其进行测试,我从未使用过,我需要确保它有效,所以,任何人都可以告诉吗?

13
WebView和HTML5 <视频>
我正在拼凑一个cheapo应用程序,该应用程序除其他外可以“构架”我们的某些网站...使用,非常简单WebViewClient。直到我看了视频。 视频是作为HTML5 元素完成的,在Chrome,iPhone上这些视频可以正常工作,而且现在我们已解决了编码问题,Android在本机浏览器中效果很好。 现在的问题是:WebView不喜欢它。完全没有 我可以单击海报图像,但没有任何反应。 谷歌搜索,我发现这很接近,但似乎是基于“链接”(如href ...),而不是视频元素。(onDownloadListener似乎未在视频元素上被调用...) 我还看到了有关覆盖onShowCustomView的引用,但似乎未在视频元素上调用……shouldOverrideUrlLoading也没有。 我宁愿不要进入“从服务器中提取xml,在应用程序中重新格式化它” ..通过在服务器上保留故事的布局,我可以更好地控制内容,而不必强迫人们不断更新应用程序。因此,如果我可以说服WebView处理本机浏览器之类的标签,那将是最好的。 我显然缺少明显的东西。但是我不知道是什么。

13
如何在WebView中加载外部网页
我的问题是网页未加载到webview中。 mWebview.loadUrl("http://www.google.com"); 启动网络浏览器... 这是我的活动代码: import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class Main extends Activity { private WebView mWebview; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mWebview = new WebView(this); mWebview.loadUrl("http://www.google.com"); setContentView(mWebview); } } 我在清单中添加了所需的权限: &lt;uses-permission android:name="android.permission.INTERNET" /&gt;

7
Android WebView,如何处理应用程序中的重定向而不是打开浏览器
因此,现在在我的应用程序中,我正在访问的URL具有重定向,当发生这种情况时,WebView将打开一个新的浏览器,而不是停留在我的应用程序中。有没有一种方法可以更改设置,以便视图可以像往常一样重定向到该URL,但是保留在我的应用程序中而不是打开新的浏览器? 编辑: 我想要重定向URL,我只是不知道如何创建它,因此,到达该URL的唯一方法是通过一个URL,它将导致重定向到我想要的URL。 例如:当您转到此处时:http : //www.amazon.com/gp/aw/s/ref=is_box_/k=9780735622777请注意它将如何将URL重定向到实际产品。在我的应用程序中,如果我在一个新的浏览器中打开它,它将很好地执行此操作,但是,如果我将其与WebView一起保存在我的应用程序中,它将显示为好像在搜索k = 9780735622777,如下所示:http://www.amazon.com/gp/aw/s/ref=is_s_?k=k%3D9780735622777&amp;x=0&amp;y=0。或,它将在浏览器中打开视图并显示适当的内容。但是,我想将所有内容保留在我的应用程序中。


7
加载数据后如何防止滚动视图滚动到Web视图?
所以我有一个令人着迷的问题。尽管我没有手动或以编程方式滚动视图,但加载内部数据后,WebView仍会自动滚动到。 我在viewpager中有一个片段。当我第一次加载寻呼机时,它会按预期工作,并且显示所有内容。但是,一旦我“翻转页面”,数据就会加载,并且WebView会弹出到页面顶部,将其上方的视图隐藏起来,这是不希望的。 有谁知道如何防止这种情况的发生? 我的布局看起来像这样: &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/background" &gt; &lt;LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" &gt; &lt;TextView android:id="@+id/article_title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="2dp" android:text="Some Title" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="@color/article_title" android:textStyle="bold" /&gt; &lt;LinearLayout android:id="@+id/LL_Seperator" android:layout_width="fill_parent" android:layout_height="1dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:background="@color/text" android:orientation="horizontal" &gt; &lt;/LinearLayout&gt; &lt;WebView android:id="@+id/article_content" android:layout_width="match_parent" android:layout_marginRight="10dp" android:layout_marginLeft="10dp" android:layout_height="wrap_content" …

21
Android Webview-网页应适合设备屏幕
我已尝试根据设备屏幕尺寸选择以下内容以适合该网页。 mWebview.setInitialScale(30); 然后设置元数据视口 &lt;meta name="viewport" content="width=320, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /&gt; &lt;meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=0;"/&gt; &lt;meta name="viewport" content="width=device-width, target-densityDpi=medium-dpi"/&gt; 但是没有任何效果,网页并不固定于设备屏幕尺寸。 谁能告诉我如何得到这个?

11
将自定义标头添加到WebView资源请求-Android
我需要向来自WebView的每个请求添加自定义标头。我知道loadURL具有的参数extraHeaders,但这些参数仅应用于初始请求。所有后续请求均不包含标头。我已经看过所有的替代WebViewClient,但是没有什么允许向资源请求添加标头- onLoadResource(WebView view, String url)。任何帮助都会很棒。 谢谢,雷

8
在Android WebView中全屏播放HTML5视频
好吧,我已经搜索了几天,如何在Android WebView上以全屏模式显示HTML5视频。 我设法在Webview上播放HTML5视频。以全屏模式显示视频时会出现问题。 如我所知,android有两种处理&lt;video&gt;标签的方法: 在&lt;= 2.3.3的android版本上,onShowCustomView方法被触发,我可以拥有VideoView实例,并在视频完成时设置侦听器,设置控制器等。到目前为止,一切都很好。 在ICS上(可能是3.0及更高版本),看起来&lt;video&gt;是用不同的方式处理的。播放HTML5视频时,在正常模式下不会调用onShowCustomView-好像WebView内部有一个内部业务在播放视频,并且显示了&lt;video&gt;标签中定义的所有控件-我无法以任何方式访问它。实际上,如果在正常模式下播放视频,则可以,因为控件在那里并且可以正常工作。 这使我想到了一个大问题:以全屏模式显示视频时,会调用onShowCustomView-但在ICS上,“ view”参数不是VideoView的实例。 我设法发现该实例属于VideoSurfaceView,它是HTML5VideoFullScreen类的私有内部类。我们访问此内部类的唯一方法是通过反射。 在查看了该类的GrepCode之后,我了解到,与VideoView不同,HTML5VideoFullScreen $ VideoSurfaceView不包含可以监听其事件或访问其控件的MediaPlayer实例。我唯一能做的就是直接使用此VideoSurfaceView并将其置于全屏布局中,而无需控制它。 底线-以全屏显示视频时,我不知道视频何时结束,也没有显示其控件-这是非常可悲的。我无法关闭全屏显示。 我尝试了一些失败的解决方法: 反思:我试图从内部类VideoSurfaceView到达具有MediaPlayer成员的HTML5VideoFullScreen实例。我没有设法得到它,我不确定这是可能的(ViewSurfaceView不保存其所有者的实例)。 通过Javascript(例如,附加)注册视频事件,并通过JavascriptInterface处理我在JAVA中需要的内容:我发现此解决方案不可靠,因为这样做时我遇到了另一个问题:&lt;video&gt;标签可以嵌套在一个。iframe源不是我的源,我也无法获取其内容(getElementById或getElementsByTagName [i]为null)-这意味着,我无法到达iframe中的&lt;video&gt;元素。 我仍在寻找解决方案,关于此问题的文章很少。有人设法解决吗?帮助将不胜感激! VideoView类:此处(具有MediaPlayer) HTML5VideoFullScreen $ VideoSurfaceView类:此处(没有MediaPlayer)

13
Android WebView未加载HTTPS URL
public void onCreate(Bundle savedInstance) { super.onCreate(savedInstance); setContentView(R.layout.show_voucher); webView=(WebView)findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setBuiltInZoomControls(true); String url ="https://www.paymeon.com/Vouchers/?v=%C80%8D%B1x%D9%CFqh%FA%84%C35%0A%1F%CE&amp;iv=%25%EE%BEi%F4%DAT%E1" //webView.loadUrl(url); // Not Working... Showing blank webView.loadUrl("http://www.yahoo.com"); // its working } 当我尝试在WebBView中加载URL时,它仅显示空白屏幕。如果我加载Google.com或yahoo.com,则工作正常。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.