Android中隐式意图(Intent)用法
来源:互联网 发布:淘宝客推广靠谱吗 编辑:程序博客网 时间:2024/05/22 01:43
Intent对象在Android应用开发中起到很大的作用,例如激活组件(Activity,Service 等组件)或者携带数据的功能,相信大家在开发中经常会用到这些功能,Android中的意图分为显式意图和隐式意图,显式意图大家应该用得比较多,但隐式意图在开发过程中也是必不可少的。在这篇文章中粗略讲解下个人对隐式意图的用法。
假设情景:我要从一个Activity跳转到另外一个Activity中,通过隐式意图来激活另外一个Activity,应该如何实现呢?
首先,我们在Manifest.xml配置文件中配置intent-filter过滤器节点:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.andyidea.intentdemo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".IntentFirstActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".IntentSecondActivity" android:label="@string/app_name"> <intent-filter > <!--可以定制多个动作 程序中只要有一个匹配就行 --> <action android:name="android.andyidea.second"/> <!--必须指定一个类别 用startActivity启动 --> <category android:name="android.andyidea.category" /> <!--默认必须指定一个类别 用startActivity启动 --> <category android:name="android.intent.category.DEFAULT" /> <!--路径匹配 协议://主机名:端口号/路径 --> <data android:scheme="http" android:host="www.andyidea.com" android:port="8080" android:path="/person"/> <!--数据类型匹配 --> <data android:mimeType="jpeg"/> </intent-filter> </activity> </application></manifest>第二,我们在第一个Activity中添加相应的代码来实现匹配,这里就不做过多解释了,解释在代码的注释中。
/**定义意图对象*/Intent intent = new Intent();/**设置动作:可以定制多个动作 程序中只要有一个匹配就行*/intent.setAction("android.andyidea.second");/**添加类别:startActivity(intent)启动Activity时会自动添加 * android.intent.category.DEFAULT类别,所以需要在Manifest中 * 配置该类别.但在程序中不需要明确添加该类别*/intent.addCategory("android.andyidea.category");/**设置数据:API中说这个方法会将setType的方法设置的类型清除掉*/intent.setData(Uri.parse("http://www.andyidea.com:8080/person"));/**设置类型:API中说这个方法会将setData上面的方法设置的数据清除掉*/intent.setType("jpeg");/**同时设置数据和类型:如果Intent过滤器中同时包含数据和数据类型的设置 * 就只能使用该方式来设置数据和类型*/intent.setDataAndType(Uri.parse("http://www.andyidea.com:8080/person"), "jpeg");/**启动组件*/startActivity(intent);至此,我们应该对Android中的隐式意图有个粗略的了解了吧。
- Android中隐式意图(Intent)用法
- Android中隐式意图(Intent)用法
- Android中隐式意图(Intent)用法
- Android中隐式意图(Intent)用法
- Intent(意图)用法
- Intent意图常见用法
- [android]Intent意图
- android意图-intent
- android 中的意图intent
- android意图Intent
- Android Intent意图详解
- Android Intent 意图
- Android-Intent(意图)
- Android意图-Intent详解
- Android Intent(意图)介绍
- Android学习记录(7)—Intent中显示意图和隐式意图的用法
- Android学习记录--Intent中显示意图和隐式意图的用法
- Android Intent中显示意图与隐式意图的基本用法
- StringBuilder类和String类详解
- 约瑟夫环的链表实现
- 斗地主——怎样才能最快得让各自的分数回归为0?
- const,readonly 常量与只读
- WinSocket API
- Android中隐式意图(Intent)用法
- WinSocket API封装
- win7(64位)下安装centos6.2_64双系统
- topcoder 544 div2
- 交叉编译器建立过程
- 解决win7下双系统,无法引导
- CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI
- AT&T 汇编语法
- 请放慢浮躁的脚步——毕业季的感悟