学习Android中Intent的使用

来源:互联网 发布:上海共创空间 知乎 编辑:程序博客网 时间:2024/05/16 01:06

出处:http://blog.csdn.net/u013292889/article/details/51354236

Intent分为隐式Intent和显式Intent:

显式Intent 也就是说利用Intent对象,明确的传递一个活动类而构成的意图,也就是说我们可以明确的知道下一步的操作。

通常我们利用隐式Intent可以完成一个应用程序对另一个应用程序的调用。

下面我将根据自己的理解简单的介绍Intent的使用。

显示Intent,一般我们对它的使用就是

Intent it = new Intent();

it.setClass(xx,xx);

StartActivity(it);这是最简单的使用,其它不做过多讲解。

但是,隐式Intent我们应该怎样使用呢?


具体的使用如下,新建一个B.Activity,在它的配置文件中我们通过加入<INTENT-FILTER>在其中写入<Action>以及<Category>:
在同一个Application中,我们使用隐式Intent时,在Mianfest.xml文件中对需要跳转的Activity进行配置:


<activity android:name="B">
            <intent-filter>
                <action android:name="com.example.alertdalog.intent.action.b"/>
                <category android:name="android.intent.category.DEFAULT"/>
                </intent-filter>
        </activity>

需要注意的是 我们在配置的时候一定要加入category的属性(隐式intent至少包含"Android.intent.category.DEFAULT"(对应CATEGORY_DEFAULT常量)。因此,活动想要接收隐式intent必须要在intent过滤器中包含"android.intent.category.DEFAULT"。),如果没有加入,运行时候将会出现force close.

另外我们在对在 action中 name可以命名为任意的字符串,但是为了方便起见 我们定义name的时候一般
采用的是包名.intent.action.类名

一般我们采用的是在需要传递的A.class中
我们为了方便起见可以建立常量
public static final String Action ="name";
StartActivity(new Intent(类名.Action));
***需要注意的是,通过隐式的Intent可以跨应用启动Activity;如果一个Activity只允许在一个应用内访问,而不允许跨应用访问

我们的配置为 在Activity属性中加入exported="false"此属性代表的是,即是否可以导出,
选择false代表不可以导出


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 包颈手术后睡中会勃起怎么办 武警义务兵训练不合格怎么办 空姐体检心率不齐怎么办 空姐体检差身高怎么办 锻炼过猛肌肉疼怎么办 中考体检有问题怎么办 想参军视力不够怎么办 公司体检查出乙肝怎么办 乙肝携带者福利体检怎么办 小孩没考好我该怎么办 客户考虑我该怎么办 明天中考 我该怎么办 考试考差了怎么办 没考上理想高中怎么办 我是差学生中考怎么办 衬衫后背鼓起来怎么办 高考体检表没了怎么办 高考体检视力不合格怎么办 高考体检转氨酶高怎么办 高考体检肝功能异常怎么办 高考体检有乙肝怎么办 高考体检有纹身怎么办 学校体检血压高怎么办 高考体检不属实怎么办 艺考身上有花臂怎么办 义务兵因病致残怎么办 新兵练成绩优秀怎么办 阿提拉部队得了瘟疫怎么办 公安体能测评胖子怎么办 社区工作者笔试不及格怎么办 警察考核体能差怎么办 胖子跑步跑不动怎么办 电脑跑不动了怎么办 在部队体能不好怎么办 自考考试没过怎么办 没工作怎么办日本签证 毕业证被扣了怎么办 毕业证被撕了怎么办 中专的学历认证怎么办 搬宿舍东西多怎么办 员工宿舍丢东西怎么办