`

Android中Intent

阅读更多
一.Intent的中文意思是“意图,意向”,不同组件组件之间的通信的媒介和信使。
二.Intent由下面几部分组成:动作(Action),数据(Data),分类(Category),类型(Type),组件(Compontent)和扩展信息(Extra)。
三.Intent在寻找目标组件时有两种方法:
  第一.通过组件名称直接指定
  第二.通过Intent Filter过滤指定
四.Intent封装了他要执行的动作属性:Action和Data。
五.Intent的ComponentName属性
  MainActivity:
//实例化组件名称
ComponentName cn=new ComponentName(MainActivity.this,"com.amoke.ch06.app1.MyActivity");
//实例化Intent
Intent intent=new Intent();
intent.setComponent(cn);
startActivity(intent);
MyActivity:
//实例化Intent
Intent intent=this.getIntent();
//获得组件名称对象
ComponentName cn=intent.getCompontent();
六.Intent的Action属性
  Action是指Intent要完成的动作,是一个字符串常量。
  如ACTION_CALL(打电话),ACTION_EDIT(编辑数据)
   1.自定义Action属性
     MainACtivity:
     public static final String MYACTION="com.a=maker.app.MY_ACTION";
    Intent intent=new Intent();
    intent.setACTION(MY_ACTION);
    startActivity(intent);
     MyACtivity:
     Intent intent=getIntent();
     String action=intent.getAction();
     AndroidMainifest.xml
    <activity android:name="MyActivity">
    <intent-filter>
     <action android:name="com.amaker.ch06.app.MY_ACTION">
     <categroy anndroid:name="android.intent.category.DEFAULT">
    </activity>
   2.访问系统Action属性
      Intent intent=new Intent();
     intent.setAction(Intent.ACTION_GET_CONTENT);
     intent.setType("Vnd.android.cursor.item/phone");
     startActivity(intent);
七.Intent的Data属性
    Intent的data属性是执行动作的URI和MIME类型,不同的Action有不同的Data数据  指定。
八.Intent的category属性
    Intent中的category属性石一个执行Action的附加信息。
    例:CATEGORY_LAUNCHER意味着加载程序时,Activity出现在最上面,还有CATEGORY_HOME,则表示回到HOME页面。
     Intent i=new Intent();
     i.setAction(intent.ACTION_MAIN);
    i.addCategory(Intent.CATEGORY_HOME);
    startActivity(i);
九.Intent的Extras属性
   Intent的Extras属性是添加一些组件的附加信息。
    mainActivity:
   //实例化Inent
    Intent intent=new Intent();
    //设置Intent的class属性,跳转到
    intent.setClass(MainActivity.this,ResultActivity.class);
    //为intent添加额外信息
    intent.putExtra("age",et.getText().toString());
    //启动Activity
    startActivity(intent);
     ResultActivity:
    Intent intent=this.getIntent();
    tv=(TextView)findViewById(R.id.TextView01);
    tv.setText(inent.getStringExtra("age"));
十. 系统标准Activity Action应用
十一.Intent的实现策略
     1. intent寻找目标组件的方式有两种:
       显示intent,这种方式通过指定Intent组件名称来实现。
       隐式intent,这种方式通过IntentFilter实现。
     2.Intent Filter进行过滤时通常考虑三个属性:Action,Data,Category
    3.Action:如Intent指明定了Action,则目标组件IntentFilter的Action列表中就必须包含这个Action,否则不能匹配。
       Category:在intent对象中出现的Category属性在IntentFilter中必须出现,否则不能通过测试。
   ”android.intent.category.DEFAULT“属性是启动Activity默认属性,这个必须添加,否则Category测试失败。
        Data:Data是Android要访问的数据和Action和Category声明方式一致。
      在AndroidMainifest.xml中
       <intent——filter>
         <action android:name="android.intent.action.VIEW"/>
         <action android:scheme="http" android:path=""www.g.cn/>
       <intet-filter>
      MainActivity中Intent对象设置Action和Data属性同上
        intent.setAction("android.intent.action.VIEW");
       intent.setData()Uri.parse("http://www.g.cn");

  
       

         
  

  




    

 
  
 

 
分享到:
评论

相关推荐

    Android中Intent的Uri使用

    ### Android中Intent的Uri使用详解 #### 概述 在Android开发中,`Intent`是进行组件间通信的重要工具之一,它可以启动一个Activity、BroadcastReceiver或Service,也可以用来向服务发送数据请求。其中,`Intent`的...

    android中Intent传递对象的两种方法(Serializable,Parcelable)

    当我们需要在Intent中传递复杂对象时,有两种主要的方法:Serializable和Parcelable。这两种方式都可以实现对象的序列化,但它们在性能和效率上存在差异。 **Serializable接口** Serializable接口是Java提供的一个...

    Android中Intent的使用

    在Android开发中,Intent是一个非常核心的组件,它充当了应用程序不同组件之间的信使,用于在组件间传递消息和启动动作。这篇博客“Android中Intent的使用”将深入讲解Intent的基本概念、类型以及如何在实际开发中...

    Android的Intent实验

    - `putExtra()`: 用于添加额外的数据到Intent中,例如字符串、整数、布尔值等,以便在目标组件中通过`getExtras()`获取。 - `setFlags()`: 设置Intent的标志,影响Intent的处理方式,如FLAG_ACTIVITY_NEW_TASK用于...

    Android中intent的使用

    在Android应用开发中,Intent是连接应用程序组件之间通信的关键机制,它用于启动其他组件或传递数据。本篇文章将深入探讨Intent的基本概念、类型、构造方法以及如何在Android中有效地使用Intent。 Intent是一种意图...

    android中intent使用示例

    在Android开发中,Intent是一种非常重要的组件间通信机制。它被用来启动活动(Activity)、服务(Service)或者传递数据。本示例将深入探讨Intent的基本用法和常见应用场景。 首先,Intent分为显式Intent和隐式...

    Android中Intent和ProgressBar的结合使用

    在Android应用开发中,Intent和ProgressBar是两个非常关键的组件。Intent主要用于启动活动(Activity)、服务(Service)或广播接收器(BroadcastReceiver),而ProgressBar则是显示进度或加载状态的控件,为用户...

    Android中Intent Demo

    6. Parcelable接口:对于更复杂的数据结构,如自定义对象,你可以使对象实现Parcelable接口,这样可以在Intent中直接传递对象。实现Parcelable接口涉及多个步骤,包括创建描述符类、实现writeToParcel()和...

    Android中Intent传递对象的两种方法(Serializable,Parcelable)

    Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable...

    Android中Intent习惯用法

    在Android开发中,Intent是一个至关重要的组件,它用于在组件之间传递消息,启动或激活服务。Intent不仅可以用来启动活动(Activity),还可以启动服务(Service)或者广播接收器(BroadcastReceiver)。在本文中,...

    Android中Intent使用、数据回写(显)

    - 使用`putExtra()`方法可以在Intent中添加额外的数据,如`intent.putExtra("key", "value");` - 数据类型包括基本类型(int、String等)、Parcelable(自定义对象、Bitmap等)和Serializable(复杂对象)。 3. *...

    android中intent可启动的应用举例2022优秀文档.pptx

    在Android开发中,Intent是一种非常重要的组件,它用于在应用程序之间传递消息,启动或激活服务。本篇将详细解析如何使用Intent启动各种类型的应用。 1. **浏览网页与谷歌搜索**: - 使用`Intent.ACTION_VIEW`启动...

    Android intent原理分析

    本文旨在深度剖析Android中Intent的工作原理,涵盖其架构、发送及接收过程,并辅以实例加深理解。 #### 二、Intent架构详解 Intent的架构主要由三部分组成: 1. **客户端(Client)**:即发起Intent的组件,如...

    Android中Intent的定义与作用.pdf

    通过调用`putExtra()`方法可以将数据附加到Intent中,例如: ```java i.putExtra("result", result); ``` 这里的`result`是你要传递的变量名,`result`变量的值就是传递的数据。 5. 启动Intent 一旦Intent准备好了...

    Android利用Intent启动和关闭Activity

    在Android应用程序开发中,Intent是连接各个组件(如Activity、Service等)的关键桥梁,主要用于启动和关闭Activity。Intent不仅能够启动一个新的Activity,还能在Activity之间传递数据,实现应用内部或应用间的交互...

    android intent 代码

    在Android开发中,Intent是一个非常重要的概念,它用于在组件之间传递消息,是Android系统启动服务、启动或跳转Activity的主要手段。本篇文章将详细解释Intent的基本使用以及如何通过Intent实现在两个Activities之间...

    android中intent传递list或者对象的方法

    本文实例讲述了android中intent传递list或者对象的方法。分享给大家供大家参考。具体实现方法如下: 方法一: 如果单纯的传递List&lt;String&gt; 或者List的话 就可以直接使用 代码如下: 代码如下:intent....

    Android中Intent的常用方法一览.pdf

    - `putExtra(String name, boolean value)`等:将各种类型的数据添加到Intent中,如布尔值、字符串、数组等。 - `setAction(String action)`:设置Intent的动作。 - `setData(Uri uri)`:设置数据Uri。 - `...

Global site tag (gtag.js) - Google Analytics