Android Activity Intent隐式启动
来源:互联网 发布:淘宝怎么样开直通车 编辑:程序博客网 时间:2024/05/16 14:07
相比于activity显式启动,以直接指明需要启动的组件的类名来启动Activity,隐式启动则显得比较“麻烦”一些,但是却拥有更强大的功能。
显式启动需要指定启动对象的报名和类名。隐式启动指定一些规则,只要对应就能启动成功。当两种启动方式同时存在的时候,以显式为主。
当使用隐式启动的时候,我们需要知道,在AndroidManifest.xml文件中定义过滤器,intent-filter 其中有三个属性 action,category和data,同时一个activity可以对应多组intent-filter,只要与其中一组匹配就可以了。
action匹配规则:
action是一个字符串,必须要在intent中手动设置,若是不设置的话报找不到指定activity的错误。规则是intent中设置的action种类是intent-filter中设置的action种类的子集。在intent中设置了一个,或多个,必须要在intent-filter中全部匹配到。
category匹配规则:
category也是一个字符串,这个在intent中可以不设置,但是需要在manifest文件中设置为DEFAULT,否则也会报找不到activity的错误。
同样的在intent中设置的category的类型必须要在intent-filter中匹配到。
data匹配规则:
data在intent或者manifest中都可以不定义,因为这不是必需的,当启动某些activity的时候才会需要,但是若是在intent中设置了的话,那么必须要在intent-filter中至少匹配,和action类似。
隐式启动中,往往需要将在intent中设置到的Action,Category和Data全部匹配到AndroidManifest.xml中注册的activity的类型才能够启动成功。
隐式启动不光光能够启动自己程序中的活动,而且还能够启动其他程序的活动。这就是它的强大之处。
比如,下面我们启动系统的浏览器。
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.baidu.com"));startActivity(intent);
启动系统的相册
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); startActivityForResult(intent, REQUEST_CODE);
这样我们就能够直接启动系统的自带的活动。是不是很方便呢?
- Android Activity Intent隐式启动
- Android 进程间通信 Intent机制 隐式启动Activity
- 隐式启动Activity,Intent filter必须添加android.intent.category.MAIN
- 隐式启动Activity,Intent filter必须添加android.intent.category.DEFAULT
- 隐式启动Activity,Intent filter必须添加android.intent.category.DEFAULT
- Android - 通过Intent启动Activity
- Android: 通过 intent 启动 Activity
- 为什么隐式intent无法启动activity
- Intent的隐式方式启动Activity
- 使用隐式的Intent启动activity
- 关于隐式Intent启动其他activity
- 关于Android使用隐式启动Activity报No Activity found to handle Intent的问题
- Activity之Intent隐式启动PK显示启动
- Android Activity 启动模式(续) 和显/隐式的intent
- Android进阶之Intent Filter匹配规则与隐式启动Activity
- Android用Intent启动Activity的方法
- Android用Intent启动Activity的方法
- Android - 使用Intent来启动Activity
- [MySQL]创建用户并且授权
- Web开发之HTTP协议
- 欢迎使用CSDN-markdown编辑器
- 文章标题
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- Android Activity Intent隐式启动
- grub rescue
- Windows8.1 IDE模式安装系统后改为AHCI模式的方法
- tools.jar找不到问题
- 数据挖掘这一大领域的感想
- 第三十七课——嵌套循环
- WINDOWS7下VC++ 6.0 无法打开文件(打开文件时软件崩溃)的解决办法。
- 如何用redis来生成唯一Id
- map根据值排序,字典排序,读入带空格的字符串处理