我提供一个思路,不过我也没试过,仅供参考点击广告之后,他需要打开一个浏览器类型的应用,因此必然调用了 startActivity 这种东西, 所以,你可以重写你的 startActivity,在里面判断是否是广告点击,然后 获取对应链接数据,将使用内置浏览器打开,屏蔽他的 Intent

解决方案 »

  1.   

    1.创建一个Activity,包含WebView控件
    2.在这个Activity的onCreate函数里增加以下代码:String adUrl = "your ad url";
    WebView webView = (WebView)findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new WebViewClient() {});
    webView.loadUrl(adUrl);3.在别的Activity里通过startActivity打开广告页面
      

  2.   

    更详细一些:
    1.创建广告AdActivity类:public class AdActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ad);

    Intent intent = getIntent();
    String url = intent.getStringExtra("url");

    WebView webView = (WebView)findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new WebViewClient() {});
    webView.loadUrl(url);
    }
    }对应布局文件activity_ad.xml:<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
        
        <WebView 
            android:id="@+id/webView"
            android:layout_width="match_parent"
            android:layout_height="match_parent" /></LinearLayout>2.在AndroidMenifest.xml中注册AdActivity:<application>
            ...
            <activity android:name=".AdActivity" />
    </application>3.在你的Activity中打开广告页面:Intent intent = new Intent(this, AdActivity.class);
    intent.putExtra("url", "http://ad.163.com/"); // 换成真实广告url
    startActivity(intent);
      

  3.   

    还可以再改进一下:public class AdActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE); // 节省空间不显示title
    setContentView(R.layout.activity_ad);

    Intent intent = getIntent();
    String url = intent.getStringExtra("url");

    WebView webView = (WebView)findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new WebViewClient() {});
    webView.loadUrl(url);
    }

    public static void startAction(Activity activity, String url) {
    Intent i = new Intent(activity, AdActivity.class);
    i.putExtra("url", url);
    activity.startActivity(i);
    }
    }在别的Activity里打开广告:AdActivity.startAction(this, "http://ad.16.com");
      

  4.   

    感谢两位的热心帮助!!!我觉得比较难搞的是 svenwang说的:  3.在你的Activity中打开广告页面
    因为打开广告页面的代码不是自己写的  admob封装好了可能得像kifile说的:“重写你的 startActivity,在里面判断是否是广告点击,然后 获取对应链接数据,将使用内置浏览器打开,屏蔽他的 Intent”百度了一下  没找到合适的代码
    初学android,不好意思了,还想麻烦指点一下 怎么取得admob要打开的链接
    谢谢!
      

  5.   

    如果他要通过 startActivity 打开网页,他必须在传输的 intent 里 setData()进去,这个 data 就是网址,你可以通过 getData()获取,然后进行处理
      

  6.   

    6楼说的有理,svenwang说的根本没理解整个东西的关键点