zoukankan      html  css  js  c++  java
  • Android学习笔记——Intents 和 Intent Filters(二)

          本人邮箱:JohnTsai.Work@gmail.com,欢迎交流讨论。

          欢迎转载,转载请注明网址:http://www.cnblogs.com/JohnTsai/p/3993488.html

    • 知识点:

               继续昨天的Intents 和 Intent Filters的学习

        

    •   组成一个Intent(Building an Intent):

              Intent 对象携带信息(例如明确的组件名或应该接收intent的组件种类(intent category)),Android系统使用这些

         信息决定开启哪个组件。还携带了接收的组件使用的信息,为了完全的执行功能。

       

              Intent包含的基本信息有以下几种:

              1.组件名

    1 //1.组件名(Component name)
    2 //目标组件的完全限制类名(fully qualified class name),包括app的包名。
    3 // 例如com.johntsai.SecondActivity
    4 //我们可以使用以下方法设置组件名
    5  setComponent()
    6  setClass()
    7  setClassName()
    8 //或者是Intent构造器

             2.功能

     1 //2.功能,活动(Action)
     2 //指定一般要执行的功能或者活动的字符串
     3 //我们可以指定Intent的action,使用以下方法
     4 
     5 setAction()
     6 //或是Intent构造器
     7 //如果我们构造自己的action,必须要包括我们app的包名作为前缀
     8 //例如:
     9    static final String ACTION_TIMETRAVEL 
    10                   ="com.johntsai.action.TIMETRAVEL";

            3.数据

     1 //3.数据(Data)
     2 //URI(Uri对象)引用数据或MIME类型的数据
     3 //提供的data的类型一般由intent的action决定
     4 //例如action是ACTION_EDIT,那么data就应该包含可编辑的文档的URI
     5 //仅设置data URI
     6 setData()
     7 //仅设置MIME类型
     8 setType()
     9 //两者都设置
    10 setDataAndType()
    11 //提醒:如果你想要设置两者2,不能调用setData()和setType(),因为它们会使对方的数值无效。一般是使用setDataAndType()。

           4.种类

    1 //4.种类(Category)
    2 //包含关于哪种组件应该处理Intent的附加信息的字符串
    3 //一个intent可以有任意多个category说明
    4 //指定category
    5 addCategory()

              组件名、功能、数据、种类(component name,action,date,category)代表了一个Intent最典型的特点,

         通过读取这些属性,Android系统能决定开启哪个组件。

         5.附加部分

         

    1 //5.附加部分(Extras)
    2 //携带需要完成要求功能的附加信息的键值对(Key-value paris)
    3 //声明我们自己的附加部分(我们的app的Intent接收)确保包含我们的应用包名作为前缀
    4 //例如:
    5 static final String EXTRA_GIGAWATTS = "com.johntsai.EXTRA_GIGAWATTS";

         

          6.标志

       

    1 //6.标志(Flags)
    2 //Flags指导Android系统怎样开启Activity(例如Activity属于哪个task)以及开启后怎样处理它(例如,它是否属于最近的Activity列表中)
    3 setFlags();

       

         如果喜欢,请点推荐。

         To be Continued.....

  • 相关阅读:
    Leetcode: Reverse Integer
    Leetcode: Two Sum
    Leetcode: Path Sum
    make distclean
    makefile 中 foreach
    nor flash 和 nand flash
    端口(port)的安全模式(security mode)
    单片机入门(二)
    单片机入门(一)
    kworker
  • 原文地址:https://www.cnblogs.com/JohnTsai/p/3993488.html
Copyright © 2011-2022 走看看