Android Intent 用法
来源:互联网 发布:mac怎么改语言 编辑:程序博客网 时间:2024/05/22 13:50
Intent :英文翻译为“意图”
含义也差不多,可以理解为要启动一个或者另一个Activity的“意图”。
当然,启动一个Activity首先需要new Intent();
随后使用startActivity(Intent);
来启动这个Activity
Intent 给我们提供了以下几种构造方法。
public Intent(Context packageContext, Class<?> cls)public Intent(String action, Uri uri)public Intent(String action)public Intent(String action, Uri uri, Context packageContext, Class<?> cls)
第一个构造方法:显式调用
Context : 给定启动Activity的上下文
Class : 需要启动的Activity(显示指定的Activity)
例如: 我们要在MainActivity中启动Target Activity
Intent intent = new Intent(MainActivity.this, TargetActivity.class); startActivity(intent);
第二和第三个构造皆为隐式调用
action : 为AndroidManifest.xml
中注册的Activity
里的intent-filter
中指定的action
注 : 使用隐式调用同时需要action
和category
同时匹配上才能调用成功。
隐式调用需要进行如下配置
<intent-filter> <!-- action android:name里的值可以自定义--> <action android:name="com.sun.scarecrow.ACTION_TEST"/> <category android:name="android.intent.category.DEFAULT"/> <!-- category android:name里的值可以自定义--> <category android:name="com.sun.scarecrow.CATEGORY_TEST"/> </intent-filter>
使用:每个intent只能指定要给action,但却能指定多个category
Intent intent= new Intent("com.sun.scarecrow.ACTION_TEST");intent.addCategory("com.sun.scarecrow.CATEGORY_TEST");
注: 因为android.intent.category.DEFAULT
为默认的categoriesgory,在调用start Activity()
的时候会自动将这个category添加到intent中。
所以如果没有自定义的category的时候可以省略intent.addCategory();
。但是xml中的默认category是必须的,不能省略。一旦缺失将不符合隐式匹配规则(* 只有<action>和<category>同时匹配上才能正常响应
*)。
将会出现如下异常:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.sun.scarecrow.ACTION_TEST cat=[com.sun.scarecrow.CATEGORY_TEST] }
阅读全文
0 0
- Android Intent 用法汇总
- Android Intent 用法汇总
- Android Intent 用法汇总
- Android Intent用法汇总
- Android Intent用法详解
- Android------Intent用法大全
- Android Intent 用法集合
- Android Intent 用法汇总
- Android Intent用法汇总
- Android Intent 用法汇总
- Android Intent常用用法
- Android Intent 用法汇总
- Android Intent用法详解
- Android:intent用法实例
- Android intent 常见用法
- Android Intent 用法大全
- Android Intent 用法汇总
- android-Intent 用法大全
- Cocos2dx中精灵(CCSprite)、动画创建
- 05hadoop的安装部署及伪分布式搭建
- java io概述
- 枚举类型的转换
- C++类的引入
- Android Intent 用法
- Redis系列-远程连接redis
- css3实现翘边阴影效果
- 统计某区间内的素数并打印显示
- window中对ubuntu通过samba共享出来的文件没有写权限/无法修改--转载
- 自动装箱和拆箱(包装和解包)
- python practice 04
- 深夜切题——PAT (Basic Level)-1015
- uboot启动第二阶段2