程序内置了admob广告条(或其它广告条) 谢谢!!! |
|
50分 |
我提供一个思路,不过我也没试过,仅供参考
点击广告之后,他需要打开一个浏览器类型的应用,因此必然调用了 startActivity 这种东西, 所以,你可以重写你的 startActivity,在里面判断是否是广告点击,然后 获取对应链接数据,将使用内置浏览器打开,屏蔽他的 Intent |
40分 |
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打开广告页面 |
更详细一些:
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); |
|
还可以再改进一下:
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"); |
|
感谢两位的热心帮助!
我觉得比较难搞的是 svenwang说的: 3.在你的Activity中打开广告页面 可能得像kifile说的:“重写你的 startActivity,在里面判断是否是广告点击,然后 获取对应链接数据,将使用内置浏览器打开,屏蔽他的 Intent” 百度了一下 没找到合适的代码 |
|
如果他要通过 startActivity 打开网页,他必须在传输的 intent 里 setData()进去,这个 data 就是网址,你可以通过 getData()获取,然后进行处理
|
|
原理看懂了 可搜一晚上没找到具体要怎么写 看来是得慢慢学下基础知识先 可否给点代码或相关介绍的网址研究下 因为这个急用 谢。。。 |
|
10分 |
6楼说的有理,svenwang说的根本没理解整个东西的关键点
|
谢谢各位
结帖了 |