Intent的作用和表现形式简单介绍

  • 1.描写叙述:Intent负责相应用中一次操作的动作,动作涉及的数据,附加数据进行描写叙述。系统或者应用依据此Intent的描写叙述,负责找到相应的组件,将Intent传递给调用的组件。而且完毕组件的调用。

    • Intent在这里起着一个媒体中介的作用,专门提供组件相互调用的相关信息。
  • 2.Intent的表现形式:
    • 激活一个Activity
    • 开启服务
    • 发送广播
    • 訪问ContentProvider
  • 3.Intent的属性设置:
    • 设置动作:setAction 表示要干什么
    • setData:设置数据,表示要传递给目标组件的数据。

      它是一个URI格式的数据。

    • setType:表示要訪问的数据类型,是一个MIME类型的数据(Image/* Voide/* text/plain vnd.android.dir/image)
    • addCategory:设置要訪问的组件的类别,能够同一时候加入多个类别。
  • 4.显示意图和隐式意图
    • 显示调用:直接指定要调用的组件的类名 一般在调用本应用程序时使用
    • 隐式调用:通过对要调用的组件的动作,类别,数据的描写叙述,来訪问目标组件。 一般在调用第三方软件时使用。

  • 5.附加数据 附加数据实现的两种方式
    • 1.intent.putExtra(key,value)
    • 2.通过Bundle附加数据 Bundle相似于HashMap intent.putExtras(Bundle)

当一个Activity须要被其它软件调用时,该Activity必须是指为隐式意图。

一个Activity能够配置多个意图过滤器。一个意图过滤器也能够配置多个,能够配置多个,在使用时,仅仅要有一个意图过滤器,相应的一个,以及满足要求。就能够打开该Activity。

訪问网络时,一定要加入权限。

调用一个应用去浏览网页时,本应用不一定须要加入訪问网络的权限,可是被调用应用程序一定要有网络訪问的权限。

意图过滤器中的动作能够自定义。不须要全然使用系统定义好的动作。

意图在显示调用时,会默认加入一个Intent.CATEGORY_DEFAULT 显示意图的Activity一般把设置为CATEGORY_DEFAULT

intent能够传递的数据类型:

  • 基本数据类型 以及String String/CharSequence
  • 传递一个Bundle
  • 传递Serializable对象
  • Parcelable对象
  • Intent

归根结底都是通过Bundle来实现数据封装。而Bundle则是通过Map的数据结构来存储数据。

Intent在传递数据时,数据必须在Intent进行跳转之前设置,否则数据无法携带过去。

Intent的作用和表现形式简单介绍的更多相关文章

  1. Android中Intent具体解释(二)之使用Intent广播事件及Broadcast Receiver简单介绍

    通过第一篇的解说,我们已经看到了怎样使用Intent来启动新的应用程序组件,可是实际上他们也能够使用sendBroadcast方法来在组件间匿名的广播消息. 作为一个系统级别的消息传递机制,Inten ...

  2. 计算机启动过程的简单介绍 计算机启动流程 计算机BIOS作用 POST 开机自检 计算机启动顺序 分区表 操作系统启动

    原文地址:4.计算机启动过程的简单介绍 计算机启动流程 计算机BIOS作用 POST 开机自检 计算机启动顺序 分区表 操作系统启动 计算机的启动

  3. Auto Layout深入理解,及masonry简单介绍

    本篇博客是本人在学习自己主动布局过程中对自己主动布局的理解和整理,分三部分介绍,内容可能会有所反复.见谅. 一.autosizing与Auto Layout对照,及Auto Layout简单介绍 1. ...

  4. angular1.x的简单介绍(二)

    首先还是要强调一下DI,DI(Denpendency Injection)伸手获得,主要解决模块间的耦合关系.那么模块是又什么组成的呢?在我看来,模块的最小单位是类,多个类的组合就是模块.关于在根模块 ...

  5. iOS-iOS开发简单介绍

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

  6. iOS开发多线程篇—多线程简单介绍

    iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...

  7. 简单介绍一下R中的几种统计分布及常用模型

    统计学上分布有很多,在R中基本都有描述.因能力有限,我们就挑选几个常用的.比较重要的简单介绍一下每种分布的定义,公式,以及在R中的展示. 统计分布每一种分布有四个函数:d――density(密度函数) ...

  8. iOS开发——UI精选OC篇&UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍

    UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道 ...

  9. Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)

    目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...

随机推荐

  1. Clion 常用快捷键

    clion 快捷键 CTRL+ALT+I  自动缩进 查询快捷键CTRL+N   查找类CTRL+SHIFT+N  查找文件CTRL+SHIFT+ALT+N 查 找类中的方法或变量CIRL+B   找 ...

  2. (转)Java按指定行数读取文件

    package test import java.io.File; import java.io.FileReader; import java.io.IOException; import java ...

  3. poj2184 Cow Exhibition【01背包】+【负数处理】+(求两个变量的和最大)

    题目链接:https://vjudge.net/contest/103424#problem/G 题目大意: 给出N头牛,每头牛都有智力值和幽默感,然后,这个题目最奇葩的地方是,它们居然可以是负数!! ...

  4. CPU个数、CPU核心数、CPU线程数

    CPU个数.CPU核心数.CPU线程数 我们在选购电脑的时候,CPU是一个需要考虑到核心因素,因为它决定了电脑的性能等级.CPU从早期的单核,发展到现在的双核,多核.CPU除了核心数之外,还有线程数之 ...

  5. python有序字典OrderedDict()

    转python创建有序字典OrderedDict # -*- coding:utf-8 -*- """ python有序字典 需导入模块collections " ...

  6. FutureTask实现超时任务

    最近主要在弄一些c/s的东西,以及对接一些外部的接口. 记下一些感觉有用的东西吧. java在1.5之后有Callable和Future可以获得任务执行完毕后的结果 结合ExecutorService ...

  7. flask第十篇——url_for【3】

      继续url_for的知识点 # coding: utf-8 from flask import Flask, url_forimport flask app = Flask(__name__)   ...

  8. 浅表拷贝vs深度拷贝

    浅表复制,只是创建所有的值类型,所有的引用类型还是会指向被复制的对象的引用. 故,当被复制的对象的引用类型发生改变的同事,复制的对象相应的 引用类型的值也是会发生改变的. 所以事件字段也是一个引用类型 ...

  9. 【洛谷】1600:天天爱跑步【LCA】【开桶】【容斥】【推式子】

    P1600 天天爱跑步 题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.<天天爱跑步>是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个 ...

  10. 微软官方的.net命令行参数库

    虽然现在是图形化大行其道的时代,但让程序支持命令行启动对于专业的领域还是有不少需求的..net本身并没有内置对命令行解析的支持,我之前就写过一篇文章让.Net程序支持命令行启动介绍了几个第三方的命令行 ...