Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 点击广告图片打开另一个网络视图_Android_Webview - Fatal编程技术网

Android 点击广告图片打开另一个网络视图

Android 点击广告图片打开另一个网络视图,android,webview,Android,Webview,我正在开发一个应用程序,在其中我必须显示一个广告,设置它的位置和广告是不高兴的,但当我们在同一个网络视图中点击广告图像打开。但我想当我们点击另一个网络视图时,应该打开显示。有人能帮我吗?谢谢 代码: WebView ad = (WebView) findViewById(R.id.ad); ad.loadUrl(url); ad.setWebViewClient(new MyWebViewClient()); class MyWebViewClient extends WebViewClient

我正在开发一个应用程序,在其中我必须显示一个广告,设置它的位置和广告是不高兴的,但当我们在同一个网络视图中点击广告图像打开。但我想当我们点击另一个网络视图时,应该打开显示。有人能帮我吗?谢谢

代码:

WebView ad = (WebView) findViewById(R.id.ad);
ad.loadUrl(url);
ad.setWebViewClient(new MyWebViewClient());
class MyWebViewClient extends WebViewClient {
    @Override
    // show the web page in webview but not in web browser
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

尝试切换第二行和第三行,我认为问题在于您在设置webviewclient之前正在加载url:

 WebView ad = (WebView) findViewById(R.id.ad);
 ad.setWebViewClient(new MyWebViewClient());
 ad.loadUrl(url);

 class MyWebViewClient extends WebViewClient {
   @Override
    // show the web page in webview but not in web browser
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        getApplicationContext().startActivity(
        new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
            return true;
     }
  }

最后使用……以下代码完成此操作

private class MyClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            startActivity(intent);
            return true;
        }
    }

我认识到,当你注释掉你的
ad.setWebViewClient(新的MyWebViewClient())时,webview中的横幅广告确实会启动一个新视图


我只使用带有锚定标记的
img
标记,这在我使用Android 4.4开发时完全有效

查看我的代码@NiravRanparaCome here>尝试从我的答案中复制粘贴代码,并让我知道它是否有效由于错误Android.util.AndroidRuntimeException:调用startActivity()从活动上下文外部开始,需要标志\u Activity\u NEW\u TASK标志。这真的是您想要的吗?您是否在活动中将MyWebViewClient类作为内部类?还可以尝试查看.loadUrl(url);是的,这样做,但同样的问题,当你在shouldOverrideUrlLoading中添加view.loadUrl(url)时?