Android:在WebViewCore设置之前,EventHub.removeMessages(int what = 107)不被支持。
我已经在对话框活动中实现了WebView,并且将简单的URL加载到 WebView. 我的WebView设置为 wbView = (WebView) findViewById(R.id.wbView); wbView.setKeepScreenOn(true); wbView.getSettings().setJavaScriptEnabled(true); wbView.getSettings().setDomStorageEnabled(true); wbView.getSettings().setBuiltInZoomControls(true); wbView.setInitialScale(100); // wbView.getSettings().setUseWideViewPort(true); wbView.setScrollBarStyle(Vie
2 2024-02-19
编程技术问答社区
Android WebView:为什么我不能从WebView重定向到Play Store?
我试图将URL传递到应该重定向到播放商店但不起作用的WebView. 我尝试的是: String url = "https://play.google.com/store/apps/details?id=com.matchify"; webView.loadUrl(url); 但是它仅在WebView中加载,我该如何解决? 预先感谢 解决方案 在Play商店应用程序上打开您的应用程序/任何其他应用程序的页面使用: startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackName))); apppackname是: String appPackName = getPackageName(); Play商店应用程序具有意图过滤器,可以收听意图并启动URI(因为它是从Market开始的://它将打开Play Store.)如果
4 2024-02-19
编程技术问答社区
Flutter拦截WebView的所有请求
flutter中是否有任何等效的拦截WebView 的所有请求 webview.webViewClient = object : WebViewClient() { override fun shouldInterceptRequest(view: WebView?,request: WebResourceRequest? ): WebResourceResponse? { return super.shouldInterceptRequest(view, request)}} 谢谢 解决方案 USESHOULDINDINTECTECTFETCHREQUEST函数应有所帮助!
18 2024-02-19
编程技术问答社区
如何 "监控 "WebView中的URL基础
因此,我希望能够监视我的WebView应用程序正在加载的URL.我试图完成的主要事情是将WebView保留在特定网站中,或者至少能够检测到用户何时离开网站的URL. 示例.如果我有www.google.com的基本URL,并且当用户单击映像时,他会获得" http://http://.google.com/imghp "但是它仍然具有www.google.com的基本URL用户单击搜索结果,然后将其完全带到另一个网站. 这样做的目的是,我想向用户显示对话框或敬酒,以便他们知道他们正在离开网站,以创建此WebView应用程序. 任何代码,想法或建议都将不胜感激. 示例代码 @Override public void onLoadResource(WebView view, String url) { if (url.equals("http://www.google.com")) { //do
4 2024-02-19
编程技术问答社区
Android-Webviewclient onReceivedHttpError确定是否为主要资源
WebViewClient.onReceivedError已弃用,现在我必须使用onReceivedHttpError来处理WebView错误,但是此方法从任何资源中接收错误,这不是我想要的. 我只想检测主URL失败. 如果我使用 api 10 ? ,我应该如何检测错误 我尝试使用request.getUrl()方法,但它仅与API兼容. 解决方案 同时,我最终这样做: @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { //your thing (f.e. show error message) } @Override public void
6 2024-02-19
编程技术问答社区
倾听WebView中的URL片段ID变化
看来,WebViewClient方法(例如sysewerteptrequest(),onPagestArted()和shoreoverrideurlloading()仅收听导致WebView加载新页面的URL更改.有没有一种方法可以检测片段ID的URL更改,即index.html#fragment_id,webview? 解决方案 正如Mitvenkatesan在对问题的评论中描述的那样,可以通过覆盖window. 事实证明,该解决方案已经在中解决了另一个问题. 其他解决方案 我知道这是一个非常古老的问题,但是我发现了一个解决方案,该解决方案在堆栈溢出中都不可用. jpetitto的答案有效,但是如果我们使用哈希更改进行路由或其他此类功能,它会弄乱javascript. 我发现,通过覆盖WebViewClient中的方法doUpdateVisitedHistory,我们可以在哈希上捕获URL.请参见下面的片段. mWebView.setWebViewClie
2 2024-02-19
编程技术问答社区
安卓WebViewClient网址重定向(安卓网址加载系统)
我正在尝试使用:ShouldInterceptRequest,在其中,我使用HttpUrlConnection从服务器获取数据,我将其设置为遵循重定向,这是对WebViewClient透明的重定向.这意味着,当我返回WebresponSeresource("","",Data_inputStream)时,WebView Maynot知道目标主机已更改.我该如何告诉WebView这发生了? ourBrowser.setWebViewClient(new WebViewClient() { @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) { ..... //some code omitted here HttpURLConnec
12 2024-02-19
编程技术问答社区
在本地Soundcloud应用程序中从WebView打开Soundcloud URL
方案 我在我的Android应用程序中有一个WebView,该应用程序包含嵌入的SoundCloud(从躯体上).该嵌入式有两个按钮:"播放soundcloud"和"在浏览器中听". "播放SoundCloud"按钮包含格式的URL intent://tracks:257659076#Intent;scheme=soundcloud;package=com.soundcloud.android;end 代码 我的WebView使用自定义的WebViewClient(因为我需要拦截一些不同内容的URL). protected class WebViewClient extends android.webkit.WebViewClient { public WebViewClient() { } @Override public boolean shouldOverrideUrlLoading(WebView view, String
8 2024-02-19
编程技术问答社区
日志<GATE-M>DEV_ACTION_COMPLETED</GATE-M>似乎在Android上延迟执行
我最近注意到我的应用程序偶尔会出现滞后.我的意思是,我可能需要40秒钟,这取决于我使用WiFi或移动数据... 我加载页面URL,然后加载JS进行执行: webView = (WebView) view.findViewById(R.id.WebView); webView.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { logDebug("Loading URL: " + url); super.onPageStarted(view, url, favicon); } @Override public boolean shouldOverr
WebView.loadUrl()中的Android JS
我想在WebView中加载一个网页,但要删除网页的一部分.因此,我创建了一个自定义WebViewClient.而且,在OnPageFined()中,我做了一些JavaScript来删除一些元素.然后,我使WebView可见. 但是,当我运行它时,它将视图设置为可见,然后看到元素被删除.好像JS在后台运行非常缓慢.它创造了糟糕的观看体验,因为它闪烁了整页,然后是所需的部分页面. 这是我的OnPageFined() @Override public void onPageFinished(WebView view, String url) { view.loadUrl("javascript:" + "document.getElementsByClassName('header')[0].style.display='none';" + "document.getElementById('section_0').s
4 2024-02-19
编程技术问答社区
如何在WebViewClient的新onReceivedError中只检测主页面的错误?
上下文 在Android SDK 23 onReceivedError(WebView view, int errorCode, String description, String failingUrl)中已被弃用并替换为onReceivedError(WebView view, WebResourceRequest request, WebResourceError error).但是,按照文档: 请注意,与回调的不推荐版本不同,新的 版本将用于任何资源(iframe,image等),而不仅仅是 对于主页 问题 我们有一个应用程序,其中有一个不建议的onReceivedError方法有一个代码显示本机视图,而不是让用户在WebView中看到错误. 我们想通过新方法替换不推荐的onReceivedError方法.但是,我们不想显示任何资源错误的本机视图,仅针对主页. 问题 如何在新的onReceivedError中识别该错误不是从主页上的?
6 2024-02-19
编程技术问答社区
在WebViewClient中重写shouldInterceptRequest时发生系统崩溃
目标: 覆盖WebView提出的所有请求,并自己提出请求(最终设置代理). 代码: @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) { if (url == null || url.trim().equals("")) return null; final DefaultHttpClient httpClient = new DefaultHttpClient(); httpClient.getConnectionManager().closeExpiredConnections(); final HttpUriRequest httpRequest = new HttpGet(url); try { final HttpResponse response = httpCl
6 2024-02-19
编程技术问答社区
禁用Android WebView/WebViewClient发起的favicon.ico请求
当我调用webview.loadurl()时,如何禁用Android WebView/WebViewClient向Favicon.ico发送请求?我可以看到通过Charlesproxy进行分析请求时的呼叫. 我不拥有我在WebView中显示的HTML内容.我的研究在服务器端的解决方案上取得了很多结果,但这些结果对我不起作用. 解决方案 对我来说,完整的解决方案是: @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) { if(url.toLowerCase().contains("/favicon.ico")) { try { return new WebResourceResponse("image/png", null, null);
16 2024-02-19
编程技术问答社区
将WebView缓存的图片加载到ImageView中。
我有一个使用以下设置将其图像缓存到目录中的网络浏览量: mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); mWebView.getSettings().setAppCacheMaxSize( 8 * 1024 * 1024 ); // 8MB mWebView.getSettings().setAppCachePath(getApplicationContext().getCacheDir().getAbsolutePath()); mWebView.getSettings().setAllowFileAccess(true); mWebView.getSettings().setAppCacheEnabled(true); 我希望能够加载使用此WebView缓存的图像中的图像. 我正在查看该目录,在该目录中,Cache Dir指向使用ADB Shell(/data/data
10 2024-02-19
编程技术问答社区
Android的WebView中shouldOverrideUrlLoading没有运行
-edit:找到解决方案 - 经过一些大量的搜索,弄清楚了 - 一个人(我的意思是一个人)说他们使用了onpageload();它适合我的目的.不同之处在于,OnPageload()运行的时间晚,而不是Noydoverriesurllolloding,但这对我的代码没有影响. 我正在尝试使用OAuth进行Android应用程序设置Twitter授权,到目前为止,我可以成功地将用户发送到授权URL,但是,我现在要做的就是拦截重定向到回调(这只会导致404错误,我们的回调URL将不会在服务器上具有关联的页面).我试图做的是检查URL是否是我们的回调,然后从URL中提取OAuth验证者.我使用此代码设置了我的WebView: view = (WebView)findViewById(R.id.twitterWbVw); view.setWebViewClient(new WebViewClient(){ @Override public boolean shoul
4 2024-02-19
编程技术问答社区
安卓-在WebView中用外部浏览器打开目标_空白链接
我构建了一个显示网站的WebView.该网站包含没有target="_blank"属性的链接,其中一些链接. 我需要使用外标设备浏览器中定义的target打开链接,而在WebView中没有它的链接. 我正在使用WebViewClient,我尝试了此功能,但我的所有链接仍然在WebView中打开: 替代1: @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return super.shouldOverrideUrlLoading(view, url); } 替代2: @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; }
16 2024-02-19
编程技术问答社区
拦截和覆盖来自WebView的HTTP请求
我的应用程序中有一个WebView,其中某些站点被打开(总是相同,是我自己的页面).该站点有一些JS代码,可从远程主机加载一些图像. 我想拦截对此类图像的请求(通过URL模式),然后将我自己的内容(即另一个图像)归还,或根据内部应用程序逻辑离开请求. 可以这样做吗? 编辑:问题的当前状态... WebView具有设置WebViewClient>的能力(如AxaryDax指出). WebViewClient有两个有用的方法 shouldOverrideUrlLoading onLoadResource shouldOverrideUrlLoading如果加载是通过页面交互触发的(即单击页面上的链接,webview.loadurl("")没有触发此方法,则能够拦截任何URL加载(即单击页面上的链接).它还可以通过返回false来取消URL加载.这种方法不可用,因为'无法拦截页面资源的加载(以及我需要拦截的图像是这样的页面资源). onLoadRes
8 2024-02-19
编程技术问答社区
安卓webview在调用loadurl时启动了浏览器
我创建了一个Activity,该>在LinearLayout中具有标题和Web视图.在onResume()方法中,它调用webView.loadUrl(url).问题在于活动首先显示了屏幕其余部分空白的标题,然后使用URL页面启动设备浏览器.我想看到的是标题下方的WebView中显示的页面.有什么问题? 编辑: 好的,进行了一些进一步的搜索并找到了这个: 单击URLS打开默认浏览器 它指向WebView教程只需实现Web客户端并设置它. 解决方案 根据Maudicus的建议回答我的问题. 检查WebView教程在这里. 只需在LoadUrl 之前实现Web客户端并将其设置为.最简单的方法是: myWebView.setWebViewClient(new WebViewClient()); 有关Web内容的更高级处理,请考虑Chromeclient. 其他解决方案 使用此: lWebView.setWebViewClient(new
4 2024-02-19
编程技术问答社区
使用进度条显示WebViewClient的进度
我正在使用WebViewClient加载网页,我想显示我的代码的进度栏.我的代码不会逐渐加载进度.它仅显示100%的进度.如何根据网页加载时间设置进度? 出于我的目的,我必须只加载" 活动文件 public class MainActivity extends Activity { private WebView webView; private ProgressBar progressBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); int vc = Color.parseColor("#feca01"); progressBar = (ProgressBar) findViewById(R.id.d
2 2024-02-17
编程技术问答社区