Android学习笔记(十八)——使用意图筛选器和实现浏览网页(附源代码)
使用意图筛选器
点击下载源代码
1、创建一个Intents项目,给该项目加入一个新类,命名为MyBrowserActivity。在res/layout目录下新增一个browser.xml;
2、在AndroidManifest.xml文件里加入例如以下代码:
加入权限:
<uses-permission android:name="android.permission.CALL_PHONE" /><uses-permission android:name="android.permission.INTERNET" />
<activityandroid:name=".MyBrowserActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.VIEW" /><action android:name="net.zenail.MyBrowser" /><category android:name="android.intent.category.DEFAULT" /><data android:scheme="http" /></intent-filter></activity>
action:动作。category:类别;data:指明获取的数据类型。
3、在main.xml文件里加入三个Button:
<Buttonandroid:id="@+id/btn_webbrowser"android:layout_width="fill_parent"android:layout_height="wrap_content"android:onClick="onClickWebBrowser"android:text="Web Browser" /><Buttonandroid:id="@+id/btn_makecalls"android:layout_width="fill_parent"android:layout_height="wrap_content"android:onClick="onClickMakeCalls"android:text="Make Calls" /><Buttonandroid:id="@+id/btn_launchMyBrowser"android:layout_width="fill_parent"android:layout_height="wrap_content"android:onClick="onClickLaunchMyBrowser"android:text="Launch My Browser" />
4、在IntentsActivity.java文件里加入三个Button相应的三个点击方法:
public void onClickWebBrowser(View v) {Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("http://网址"));//此处输入百度网址。CSDN不让加链接...//使用createChooser()的优点://1、将显示的选择对话框的标题改掉。且没有了Use by default for this action选项//2、当没有活动与程序的Intent对象匹配时,应用程序不会崩溃//startActivity(intent.createChooser(intent, "Open URL using..."));startActivity(intent);}public void onClickMakeCalls(View v) {Intent intent = new Intent(android.content.Intent.ACTION_DIAL,Uri.parse("tel:+651234567"));startActivity(intent);}public void onClickLaunchMyBrowser(View v) {Intent intent = new Intent("net.zenail.MyBrowser");intent.setData(Uri.parse("http://网址"));//此处输入百度网址,CSDN不让加链接...startActivity(intent);}
5、在browser.xml中加入一个WebView:
<WebViewandroid:id="@+id/WebView01"android:layout_width="wrap_content"android:layout_height="wrap_content" />
6、在MyBrowserActivity.java文件里加入例如以下代码,实现浏览网页功能:
public class MyBrowserActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.browser);Uri url = getIntent().getData();WebView webView = (WebView) findViewById(R.id.WebView01);webView.setWebViewClient(new Callback());webView.loadUrl(url.toString());}private class Callback extends WebViewClient {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {// TODO Auto-generated method stubreturn false;}} }
7、执行一下,效果例如以下:
点击第三个button:
点击第一个button:
若想完好意图筛选器,则在IntentsActivity.java的onClickWebBrowser()方法中加入createChooser()方法:
startActivity(intent.createChooser(intent, "Open URL using..."));
加入后的效果例如以下:
这时就可以选择你想要选择的应用程序就可以~
附、使用createChooser()的优点:
1、将显示的选择对话框的标题改掉,且没有了Use by default for this action选项。
2、当没有活动与程序的Intent对象匹配时,应用程序不会崩溃。
转载于:https://www.cnblogs.com/llguanli/p/6845361.html
Android学习笔记(十八)——使用意图筛选器和实现浏览网页(附源代码)相关推荐
- python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置...
python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置 Download JetBrains Python IDE :: PyCharm http://ww ...
- windows内核开发学习笔记十八:IRP 处理的标准模式
windows内核开发学习笔记十八:IRP 处理的标准模式 在 Windows 内核中的请求基本上是通过 I/O Request Packet 完成的. I/O manager ---> Dis ...
- Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件
Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件 插件是由PolyWorks加载的动态链接库(DLL文件),然后查询Polyworks模块,以确定它们具有哪些功能,提供给 ...
- 学习笔记(十八):MoRe-Fi用深度学习网络从非线性信号中恢复呼吸波形
<MoRe-Fi: Motion-robust and Fine-grained Respiration Monitoring via Deep-Learning UWB Radar>学习 ...
- 【D3D11游戏编程】学习笔记十八:模板缓冲区的使用、镜子的实现
(注:[D3D11游戏编程]学习笔记系列由CSDN作者BonChoix所写,转载请注明出处:http://blog.csdn.net/BonChoix,谢谢~) 模板缓冲区(Stencil Buffe ...
- Pro Android学习笔记 四八 ActionBar 1 Home图标区
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Acti ...
- three.js学习笔记(十八)——调整材质
介绍 到现在为止,我们都在创建新的着色器材质,但是如果我们想要修改一个Three.js内置的材质呢?或许我们对MeshStandardMaterial的处理结果感到满意,但是希望往里边添加顶点动画. ...
- 《算法图解》学习笔记(八):贪婪算法和NP完全问题(附代码)
欢迎关注WX公众号:[程序员管小亮] python学习之路 - 从入门到精通到大师 文章目录 欢迎关注WX公众号:[程序员管小亮] [python学习之路 - 从入门到精通到大师](https://b ...
- android 学习笔记(八)building system8.5 shell脚本的学习
虽然接触她很久了,但只能说认识,.说道很熟,熟到称兄道弟,这是我的目标.想要混熟总得经历些事情,那么现在开始吧.最近在学习android,还是从android开始吧! android源码中的build ...
最新文章
- Go 1.12发布:改进了运行时性能以及模块支持
- AXI总线基本知识:(基于uart_lite IP核)
- iPhone中的heic格式怎么查看,heic文件怎么打开
- TCP连接的建立(二)
- WebRTC通话原理
- mysql 5.5 slave 配置_mysql5.5 master-slave(Replication)配置方法
- 工作177:时间戳转换
- C++11并发实战(专栏)
- stm32f407 6个串口dma_stm32之DMA
- 折纸 瓦力机器人_折纸图解金鱼筷子架
- java 非法字符: \65279
- 子龙山人 opengl系列 - 网址
- 分类预测 | MATLAB实现LSSVM(最小二乘支持向量机)分类
- viper4android资源分享,一步一步教你如何使4.42版本ROOT并且安装Viper4Android音效软件...
- 【ARCore 入门开发课程系列】ARCore 打造沉浸式体验全过程
- 叹20年奶茶江湖纷争,入局奶茶行业仍有机会
- php三级分销思路 数据库设计_分销系统的用户关系,用户与推广链接的数据库设计。设计思路...
- 开源全文搜索(搜索引擎)
- Java011-数组及其常见问题
- 【Web技术】1091- 跨浏览器窗口 ,7种方式,你还知道几种呢?
热门文章
- php model controller,Laravel 中 Controller访问Model函数/常量
- php和数据库的永久链接,php – WordPress永久链接,包括名称和ID,但仅考虑ID
- 使用Keras打造一个实时可用交通标志识别App
- 爱奇艺NLP:BiLSTM_CRF的关键词自动抽取
- md360 android,MD360Player4Android 学习的简单使用
- prestashop后台如何删除订单
- 一张图11招学会Python网络黑客
- 第14章 使用Kotlin 进行 Android 开发
- Juniper发展史
- 模块化配电系统在高密度数据中心的应用