相关疑难解决方法(0)

使用android webview在浏览器中打开外部链接

我有这个代码,但不是因为它有效,它在webview中保持打开,我想要的是链接不属于我的网站在您的默认浏览器中打开.任何的想法?谢谢

private class CustomWebViewClient extends WebViewClient {
        @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
              if(url.contains("message2space.es.vu")){
                view.loadUrl(url);
                return true;
            }else{
                return super.shouldOverrideUrlLoading(view, url);
            }

            }
        }
Run Code Online (Sandbox Code Playgroud)

browser android external hyperlink webview

33
推荐指数
4
解决办法
5万
查看次数

WebView + WebChromeClient方法onCreateWindow没有调用target ="_ blank"

我试图建立一个custom browserWebView采用Android API level 10(SDK 2.3.3),不幸的是我不知道如何从拦截请求webpage以打开新的浏览器窗口的URL,像与链接水龙头target="_blank".

在与符合API Doc我已经覆盖了onCreateWindowWebChromeClient,但是当这样的链接被点击不叫.可能是这个API级别的错误?我还要shouldOverrideUrlLoading完全避免WebView在内置浏览器中打开后续链接.

这是我打开的示例代码google.com.要测试它,请点按"新闻",然后点按任何新闻标题.Android内置浏览器通常以新的方式打开它browser window.

package com.myexample;

import android.app.Activity;
import android.os.Bundle;
import android.os.Message;
import android.util.Log;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

public class HelloAndroidActivity extends Activity {

  private static String TAG = "WebViewTest";
  private WebView mWebView;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.i(TAG, "onCreate");
    setContentView(R.layout.main);

    mWebView = (WebView) findViewById(R.id.mywebview); …
Run Code Online (Sandbox Code Playgroud)

android webview webchromeclient

11
推荐指数
3
解决办法
3万
查看次数

Android WebView使用target = _blank链接到同一窗口以打开新窗口

我有一个混合应用程序,它使用WebView从我自己的网站呈现外部HTML.它有一个问题,如果点击了任何链接,它就会启动一个浏览器窗口.我发现这段代码可以帮助我解决它的问题:

    myWebView.setWebViewClient(new WebViewClient(){
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return false;
        }
    });
Run Code Online (Sandbox Code Playgroud)

但现在问题是我希望它不适用于其中包含target = _blank的链接.因此,在使用target = _blank的链接应该在新的浏览器窗口中打开时,任何普通链接仍然在WebView中打开.

我们能做到这一点吗?

谢谢

html android webview

9
推荐指数
2
解决办法
2万
查看次数

WebView在新窗口中打开外部链接和target =空白链接,例如GMail App

我想打开外部链接并

target =“空白”

我的WebView应用程序中的链接(如GMail应用程序)在新的可关闭窗口中。

我尝试执行与此处提到的相同的操作:

Android-使用外部浏览器在WebView中打开目标_blank链接

在Android WebView中处理外部链接(例如Gmail应用程序)

但这不起作用。

请帮助我在我的应用程序中实现此功能。

这是MainActivity.java文件:

    package com.blogmaza;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.ConnectivityManager;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.os.Message;
import android.os.Parcelable;
import android.provider.MediaStore;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.Toast;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import static com.blogmaza.R.id.webView;

public class MainActivity extends AppCompatActivity {
    private …
Run Code Online (Sandbox Code Playgroud)

android webview android-webview

9
推荐指数
1
解决办法
507
查看次数

如何让Android webview在iframe中打开目标为"_blank"的链接

解决了

把它放在oncreate中:奇怪的是只会在"android浏览器"中打开

        //webview settings
        myWebView = (WebView) findViewById(R.id.calwebview);
        myWebView.setBackgroundColor(Color.BLACK);
        myWebView.setWebViewClient(new MyWebViewClient());
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setSupportMultipleWindows(true);
        myWebView.loadUrl("www.google.com");    
        myWebView.setWebChromeClient(new WebChromeClient() {
                @Override public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, Message resultMsg)
                {
                    WebView newWebView = new WebView(view.getContext());
                    WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
                    transport.setWebView(newWebView);
                    resultMsg.sendToTarget();
                    return true;
                }
            });
Run Code Online (Sandbox Code Playgroud)

iframe android target webview

7
推荐指数
0
解决办法
6368
查看次数

覆盖Android WebChromeClient的onCreateWindow方法会导致SIGSEGV

我试图覆盖默认的WebChromeClient,以便让我的应用程序的WebView能够打开新窗口.为此,按照手册中的说明,我将覆盖WebChromeClient的'onCreateWindow'方法,其中我执行以下简单逻辑.

    public boolean onCreateWindow (WebView view, boolean dialog, boolean userGesture, Message resultMsg) {

        ((WebView.WebViewTransport) resultMsg.obj).setWebView(myWebView);
        Log.d("webviewdemo", "from the chrome client");
        resultMsg.sendToTarget(); 
        return true;
    }
Run Code Online (Sandbox Code Playgroud)

但这导致上述分段错误.我做了一些搜索,发现它已在http://code.google.com/p/android/issues/detail?id=11655上报告.之后我没有看到该问题的任何更新.有人知道相同的状态吗?

谢谢,阿肖克.

android webchromeclient

1
推荐指数
1
解决办法
9190
查看次数