关于内置浏览器的问题

clz_boy 2014-10-12 02:36:44

程序内置了admob广告条(或其它广告条)
如果我想客户点击广告的时候 在我程序内置的浏览器打开网页
该怎么实现呢

谢谢!!!!!!!!!!!
...全文
157 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
clz_boy 2014-10-21
  • 打赏
  • 举报
回复
谢谢各位 结帖了
  • 打赏
  • 举报
回复
6楼说的有理,svenwang说的根本没理解整个东西的关键点
clz_boy 2014-10-13
  • 打赏
  • 举报
回复
原理看懂了 可搜一晚上没找到具体要怎么写 看来是得慢慢学下基础知识先 可否给点代码或相关介绍的网址研究下 因为这个急用 谢。。。
Kifile 2014-10-12
  • 打赏
  • 举报
回复
如果他要通过 startActivity 打开网页,他必须在传输的 intent 里 setData()进去,这个 data 就是网址,你可以通过 getData()获取,然后进行处理
clz_boy 2014-10-12
  • 打赏
  • 举报
回复
感谢两位的热心帮助!!! 我觉得比较难搞的是 svenwang说的: 3.在你的Activity中打开广告页面 因为打开广告页面的代码不是自己写的 admob封装好了 可能得像kifile说的:“重写你的 startActivity,在里面判断是否是广告点击,然后 获取对应链接数据,将使用内置浏览器打开,屏蔽他的 Intent” 百度了一下 没找到合适的代码 初学android,不好意思了,还想麻烦指点一下 怎么取得admob要打开的链接 谢谢!
svenwang 2014-10-12
  • 打赏
  • 举报
回复
还可以再改进一下:

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 2014-10-12
  • 打赏
  • 举报
回复
更详细一些: 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);
svenwang 2014-10-12
  • 打赏
  • 举报
回复
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打开广告页面
Kifile 2014-10-12
  • 打赏
  • 举报
回复
我提供一个思路,不过我也没试过,仅供参考 点击广告之后,他需要打开一个浏览器类型的应用,因此必然调用了 startActivity 这种东西, 所以,你可以重写你的 startActivity,在里面判断是否是广告点击,然后 获取对应链接数据,将使用内置浏览器打开,屏蔽他的 Intent

80,359

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧