2016-11-26 30 views
0

這已經添加網頁視圖AdMob廣告攔截彈出式窗口,只接受在這裏特定的URL是www.google.com其他URL不會在打開的WebView我已經嘗試了一些方法來實現的AdMob,但應用因此未工作thier反正要使用AdMob在應用程序的底部,我已經tryed這一點,它不工作 Getting admob and webview working together如何使用的WebView

package zippy.zippytest; 
import android.app.DownloadManager; 
import android.content.Context; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.net.ConnectivityManager; 
import android.net.NetworkInfo; 
import android.net.Uri; 
import android.os.Build; 
import android.os.Environment; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.webkit.DownloadListener; 
import android.webkit.JsPromptResult; 
import android.webkit.JsResult; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.webkit.WebChromeClient; 
import android.widget.AbsoluteLayout; 
import android.widget.LinearLayout; 
import android.widget.ProgressBar; 
import android.widget.Toast; 
import android.app.DownloadManager; 
import java.util.UUID; 
import java.util.Random; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 


public class MainActivity extends AppCompatActivity { 

    private WebView webView; 
    private WebView mWebview1; 
    private ProgressBar progressBar; 
    private LinearLayout layoutProgress; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     webView = (WebView) findViewById(R.id.webView); 
     mWebview1 = (WebView)findViewById(R.id.webView); 
     progressBar = (ProgressBar) findViewById(R.id.progressBar); 
     layoutProgress = (LinearLayout) findViewById(R.id.layoutProgress); 
     webView.setVisibility(View.GONE); 
     WebSettings settings = webView.getSettings(); 
     settings.setJavaScriptEnabled(true); 
     settings.setBuiltInZoomControls(true); 
     settings.setSupportZoom(true); 
     settings.setDisplayZoomControls(false); 

     webView.setWebViewClient(new WebViewClient() { 
      @Override 


      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       Pattern pattern = Pattern.compile("https://www\\.google\\.com/*", Pattern.MULTILINE); 


       Matcher matcher = pattern.matcher(url); 

       if (matcher.find()) { 


        return false; 

       } 

       return true; 

      } 


      @Override 
      public void onPageFinished(WebView view, String url) { 
       webView.setVisibility(View.VISIBLE); 
       layoutProgress.setVisibility(View.GONE); 
       progressBar.setIndeterminate(false); 
       super.onPageFinished(view, url); 

      } 

      public void but(View v) { 

      } 

      @Override 
      public void onPageStarted(WebView view, String url, Bitmap favicon) { 
       layoutProgress.setVisibility(View.VISIBLE); 
       progressBar.setIndeterminate(true); 
       super.onPageStarted(view, url, favicon); 
      } 
     }); 


      } 
     });*/ 





     webView.setDownloadListener(new DownloadListener() { 

      public void onDownloadStart(String url, String userAgent, 
             String contentDisposition, String mimetype, 
             long contentLength) { 
       DownloadManager.Request request = new DownloadManager.Request(
         Uri.parse(url)); 
       String id = UUID.randomUUID().toString(); 
       String name=""+id+".torrent"; 
       final String[] separated = url.split("/"); final String myFile = separated[separated.length - 1]; 

       request.allowScanningByMediaScanner(); 
       request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); //Notify client once download is completed! 
       request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,name); 
       DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); 
       dm.enqueue(request); 
       Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); //This is important! 
       intent.addCategory(Intent.CATEGORY_OPENABLE); //CATEGORY.OPENABLE 
       intent.setType("*/*");//any application,any extension 
       Toast.makeText(getApplicationContext(), "Downloading File", //To notify the Client that the file is being downloaded 
         Toast.LENGTH_LONG).show(); 

      } 
     }); 
     if(isOnline()) { 
      webView.loadUrl("https://www.google.com/"); 
     } else { 
      String summary = "<html><body><font color='red'>No Internet Connection</font></body></html>"; 
      webView.loadData(summary, "text/html", null); 
      toast("No Internet Connection."); 
     } 
    } 
    private void toast(String message) { 
     Toast.makeText(this, message, Toast.LENGTH_LONG).show(); 
    } 

    public void onBackPressed() { 
     if(webView.canGoBack()) { 
      webView.goBack(); 
     } else { 
      super.onBackPressed(); 
     } 
    } 

    private boolean isOnline() { 
     ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo netInfo = cm.getActiveNetworkInfo(); 
     return (netInfo != null && netInfo.isConnected()); 
    } 
    public void but(View v){ 

     webView.loadUrl("https://www.googel.com/"); 
    } 
} 

回答

0

你不應該自己的WebView內顯示廣告。您應該使用AdMob AdView並通過它顯示您的廣告。將AdView放置在佈局中的WebView下方。

+0

我已經嘗試過,但它不工作,你能不能解釋一下 –

+0

的AdView中添加到您的佈局網頁視圖下方。 – William

+0

「 –