Intent隐式激活
2016-07-17 22:56
281 查看
Intent对象在Android应用开发中起到很大的作用,例如激活组件(Activity,Service 等组件)或者携带数据的功能,相信大家在开发中经常会用到这些功能,Android中的意图分为显式意图和隐式意图,显式意图大家应该用得比较多,但隐式意图在开发过程中也是必不可少的。
首先,我们在Manifest.xml配置文件中配置intent-filter过滤器节点:
第二,我们在第一个执行组件中添加相应的代码来实现匹配
首先,我们在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>
第二,我们在第一个执行组件中添加相应的代码来实现匹配
//定义意图对象 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);
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法