Android08--Android之Intent的七大属性

原创 2016年08月29日 17:53:53

1.什么是Intent

Android中的Inteng机制,提供了不同程序 之间 Activity Service BroadcastResever之间的通信与交互.
Intent,意为”意图”,Intent是一种运行时机制,它能连接两个不同的组件,通过Intent,可以向Android表达某种请求和意愿,然后根据这个请求来选择相应的组件去做响应.

2.Intent的属性

Intent分显示和隐式启动

第一类:启动,有ComponentName(显式),Action(隐式),Category(隐式)。

第二类:传值,有Data(隐式),Type(隐式),Extra(隐式、显式)。

第三类:启动模式,有Flag。

Intent总共有七个属性:分别为
component, action,categray,data, type, extra,flag

1.component(目标组件)

Intent intent = new Intent();
        ComponentName name = new ComponentName(MainActivity.this, "com.xiaohong.activity_bymyself.OtherActivity");
        intent.setComponent(name);
        startActivity(intent);

和下面一样的结果:

Intent intent = new Intent(this, OtherActivity.class);
startActivity(intent);

2,action和categray

  1. Action中指定了Intent要完成的动作,在activity中可以使用setAction()设置,它分为系统Action和自定义的action.

  2. Action大多时候都是和Category一起使用的,所以这里我们将这两个放在一起来讲解。Intent中的Action我们在使用广播的时候用的比较多,在Activity中,我们可以通过设置Action来隐式的启动一个Activity.

调用系统的action

// 会开启系统中所有的app
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);

自定义的Action
清单文件中:

<activity android:name=".OtherActivity">
            <intent-filter>
                <action android:name="MYSELF_ACTION" />
                <category android:name="com.xiaohong.activity_bymyself.OTHER_CATEGORY"/>
                <!--一定加上-->
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

隐式Intent的创建:

 Intent intent = new Intent("MYSELF_ACTION");
        intent.addCategory("com.xiaohong.activity_bymyself.OTHER_CATEGORY");
        startActivity(intent);

3.data

指定要执行的动作要操作的数据
这里写图片描述

4.type

这里写图片描述

5.eatra

这里写图片描述

6.flag

在activity之间一般不需要设置flag,在sevice.prodercastResever中 一般要设置这个,因为他们不自带任务栈.
这里写图片描述

这里写图片描述

说明:
注意一个方法:

// 当一个Activity被重新执行而不创建的时候调用的方法.
@Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
    }

外加:
Activity之间的跳转,如果需要加上动画:

  @Override
    public void onClick(View v) {
        ((TextView) v).setText("已点击");
        Intent intent = new Intent(this, OtherActivity.class);
        ActivityOptionsCompat compat = ActivityOptionsCompat.makeScaleUpAnimation(v, v.getWidth() / 2, v.getHeight() / 2, 0, 0);
        ActivityCompat.startActivity(this, intent, compat.toBundle());
    }

参考文献:
http://blog.csdn.net/weihan1314/article/details/7973511
http://www.2cto.com/kf/201512/452648.html

版权声明:本文为博主原创文章,未经博主允许不得转载。

【幻化万千戏红尘】qianfeng-Android-Day06-Intent七大属性基础学习:

Intent及其七大属性及intent-filter设置   一、知识点回顾:Activity (一)、如何实现Activity页面跳转? 示例代码: //第一种方式: Intent in...

android自学第六天 Activity管理及Intent七大属性

一、任务与回退栈: (一)、任务Task: 1、概念: 一个任务(task)就是在执行某项工作时与用户进行交互的Activity的集合。这些Activity按照被打开的顺序依次被安排在一个堆栈中...

Android之Intent及其七大属性

Intent基本介绍: 1、Intent 用于封装程序的”调用意图“。两个Activity之间,可以把需要交换的数据封装成Bundle对象,然后使用Intent携带Bundle对象,实现两个Act...

微子学Android之Intent的七大属性

Intent七大属性是指Intent的ComponentName、Action、Category、Data、Type、Extra以及Flag,七个属性,总体上可以分为3类: 第一类:启动,有Comp...

Android学习08Android应用程序组件之间的通信Intent和IntentFilter

 Android应用程序的基本组件,这些基本组建除了Content Provider之外,几乎全部都是依靠Intent对象来激活和通信的。 下面介绍Intent类,并通过例子来说明Intent一般用法...
  • kbest
  • kbest
  • 2011年04月22日 21:47
  • 3479

Android11_Intent及其七大属性及intent-filter设置

Intent及其七大属性及intent-filter设置   一、知识点回顾:Activity (一)、如何实现Activity页面跳转? 示例代码: ...

Android下的任务和Activity栈(以及taskAffinity属性) (2011-03-08 09:32:05)转载▼

Android下的任务和Activity栈(以及taskAffinity属性) (2011-03-08 09:32:05)转载▼ 标签: 杂谈 Android下的任务和Activity栈 文章...

Android学习之——intent-fliter配置之data属性

Data属性通常用来向Action属性提供操作的数据。Data属性接受一个Uri对象,比如: content://com/android.contacts/contacts/1 Uri对象满足如下格...
  • csxwc
  • csxwc
  • 2013年08月23日 14:41
  • 6893

Android intent 属性详解(一)

Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递。通过其自带的属性,其实可以方便的完成很多较为复杂的操作。例如直接调用拨号功能、直接自动调用合适的程序打开不同类型的...
  • zjzjt
  • zjzjt
  • 2016年02月17日 09:33
  • 220

Android中Intent-filter的四个属性Action,Category,Extras,Data

原文出处:Intent中四个重要属性详解  Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递。通过其自带的属性,其实可以方便的完成很多较为复杂的操作。例如直接调用...
  • TTCCAAA
  • TTCCAAA
  • 2015年07月08日 21:39
  • 1384
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android08--Android之Intent的七大属性
举报原因:
原因补充:

(最多只允许输入30个字)