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调用系统组件

  • 相关阅读:
    常见寻找OEP脱壳的方法
    Windows内核原理系列01
    HDU 1025 Constructing Roads In JGShining's Kingdom
    HDU 1024 Max Sum Plus Plus
    HDU 1003 Max Sum
    HDU 1019 Least Common Multiple
    HDU 1018 Big Number
    HDU 1014 Uniform Generator
    HDU 1012 u Calculate e
    HDU 1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/DASOU/p/3148823.html
Copyright © 2011-2022 走看看