zoukankan      html  css  js  c++  java
  • Intent 意图

    功能intent主要是用于在activity和service组件间进行数据的传递,起着一个中间桥梁的通信作用

    类型主要分为

    1、显式intent:来启动指定的组件如从一个activity跳转到另外的activity并传递数据,

    1 Intent intent=new Intent(Activitymain.this,Activity01.class);
    2 startActivity(intent);

         也可以用setClass(Context,Class)来指定目标组件

    1 Intent intent=new Intent();
    2 intent.setClass(this,Activity01.class);
    3 this.startActivity(intent);

        还可以使用Component(ComponentName)来指定目标组件

    Component cn=new Component("com.android.myAction");
    Intent intent=new Intent();
    intent.setComponent(cn);
    this.startActivity(intent);

    2、 隐式intent:没有明确的指出目标组件,需要系统帮助寻找与intent的意图相匹配的组件,如打开某文件时跳出多个程序让你挑选。

          intentFilter(意图过滤器):把不需要的intent的过滤掉,找到相同的intent。

          方法:通过配置文件进行指定,通过intent-filter标签来完成

    <intent-filter>
         <action android:name="android.intent.action.MAIN"/>
         <category android:name="android.intent.category.LAUNCHER"/>//启动系统
    </intent-filter>

    action:代表该intent的所要完成的一个抽象动作,其实就是一个字符。

    category:为action增加额外的附加信息。

    如下程序研究:

    在主程序的代码为:

    1 bn.setOnClickListener(new OnClickListener(){
    2   Intent intent=new Intent();
    3   intent.setAction(ActionAttr.DASOU_ACTION);
    4   startActivity(intent);
    5 });

    上述代码中要创建常量

    final static String DASOU_ACTION="org.dasou.intent.action.DASOU_ACTION";

    上面代码中没有显式启动哪个Activity,则要在需要启动的Activity的配置文件中进行配置

    <intent-filter>
         <action android:name="org.dasou.intent.action.DASOU_ACTION">//
    <action android:name="dasou"/>//指定activity能响应action属性为dasou的intent
    <category android:name="android.intent.category.DEFAULT">//指定该action能响应category的属性为指定字符的intent
    </intent-filter>

    data:数据,指的是动作相关的数据的资源标识和数据的MIME类型。

    flags:标志,Intent对象有各种标记,很多都是用于指示Android系统如何启动Activity(如,Activity应该属于哪个任务),以及启动后如何处理(如,它是否属于最近的Activity列表)。    

     下一页:intent调用系统组件

  • 相关阅读:
    Java三大主流框架概述
    ASP.NET的内置对象
    9月29
    第一章
    在java开发中,为什么要使用单例模式。。?
    《设计模式之禅》一书学习心得(连载中)
    网上的一些java算法题的个人练习笔记
    第四次作业
    看《构建之法》有感
    实验四
  • 原文地址:https://www.cnblogs.com/DASOU/p/3148823.html
Copyright © 2011-2022 走看看