启动activity与使用Intent通信机制解析

我们都知道,一个activity启动另一个activity最简单的方式就是使用startActivity方法:

public void startActivity (Intent intent)

但是此处 应避免一个误解,该方法并不是一个类方法,启动activity时并非是针对Activity子类调用该方法,

实际上,我们是将调用请求发给了操作系统的ActivityManager,ActivityManager负责创建Activity实

例并调用onCreate(...)方法。

下面就涉及到ActivityManager如何确定启动哪个活动的问题,此时便讲到了如何用Intent进行通信:

Intent是一种多功能通信工具,包含多种构造方法供使用,例如:

public Intent (Context packageContext, Class<?> cls)

我们通过将Class对象传入用于指定ActivityManager应启动的activity,而Context对象用于指定Class对象的

包名。

时间: 2024-12-18 08:04:57

启动activity与使用Intent通信机制解析的相关文章

Android四大组件之Activity详解——创建和启动Activity

前面我们已经对Activity有过简单的介绍: Android开发——初始Activity Android开发——响应用户事件 Android开发——Activity生命周期 先来看一下最终结果 创建Activity: 接下来打开我们的IDE,创建一个名叫ActivityDemo的Android Application Project 工程默认已经为我们创建了一个Activity,现在我们手动添加一个名叫SecondActivity的类 点击finish完成SecondActivity类的创建.

使用intent来启动activity

Intent最常见的用途是绑定应用程序组件,并在应用程序之间通信.Intent用来启动Activity,允许创建不同屏幕的一个工作流. 要创建并显示一个Activity,可以调用startActivity,并传递给它一个Intent,如: startActiiy(myintent); 可以构造Intent来显示地指定要打开的Activity类,或者包含一个目标Activity必须执行的动作.在后面一种情况时,运行时将会使用一个成为"intent解析"的过程来动态选择activity.

Android - 通过Intent启动Activity

通过Intent启动Activity 本文地址: http://blog.csdn.net/caroline_wendy 为了动态关联Activity界面,使用Intent启动.能够灵活绑定. 在Intent静态类中.定义Intent的内容: public static final String ACTION_HOME = "me.cxxxyx.CxxxyxIntent.ACTION_HOME"; 然后通过Intent启动startActivity(intent)其它的Activity

Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式。

Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags(); 一.Android Activity 四种启动模式 lunchMode 在Manifest 配置文件中的属性如下: (1) android:launchMode="standard" (2)android:launchMode="singleTop" (3)android:launchMode="singleTask" (4)andro

Android中intent启动Activity中intent.setFlags()的作用

Intent.setFlags()函数用法: Intent的常用Flag参数: FLAG_ACTIVITY_CLEAR_TOP:例如现在的栈情况为:A B C D .D此时通过intent跳转到B,如果这个intent添加FLAG_ACTIVITY_CLEAR_TOP标记,则栈情况变为:A B.如果没有添加这个标记,则栈情况将会变成:A B C D B.也就是说,如果添加了FLAG_ACTIVITY_CLEAR_TOP标记,并且目标Activity在栈中已经存在,则将会把位于该目标activit

Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();

一.Android Activity 四种启动模式 lunchMode 在Manifest 配置文件中的属性如下: (1) android:launchMode="standard" (2)android:launchMode="singleTop" (3)android:launchMode="singleTask" (4)android:launchMode="singleInstance" 二.说明: Android 中

从AIDL开始谈Android进程间Binder通信机制

本文首先概述了Android的进程间通信的Binder机制,然后结合一个AIDL的例子,对Binder机制进行了解析. 概述 我们知道,在Android app中的众多activity,service等组件可以运行在同一进程中,也可以运行在不同进程中.当组件运行在同一进程中进行通信就显得比较简单,在之前的Android线程间通信机制中已经讲过了:而当它们运行在不同的进程中时,就需要使用我们本文中所要介绍的Binder机制了. Binder作为一种进程间通信机制,负责提供远程调用的功能(RPC),

Android 之 IPC 进程通信全解析

Android 之 IPC 进程通信全解析 本篇博客的框架 什么是IPC IPC(Inter-Process Communication) 进程间通信,是指两个不同进程之间数据交换的过程. 在明确其之前,需要先搞懂几个概念: 线程:CPU可调度的最小单位,是程序执行流的最小单元:线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源. 进程: 一个执行单元,在PC 和移动设备上一

React-Native之通信机制

近段时间来Android上最火的框架非react native莫属了,这里我不去评价这个框架的好坏,毕竟只有用过的人才会有深刻的体会.但是我个人有一个习惯,在使用一个开源库之前,一定要看过它的源码,不说百分百搞懂吧,至少得弄清楚它的工作原理,所以在使用RN之前我就看了看它的源码.不看不知道,一看吓一跳,它其中最核心的那一部分--java和js的通信写的确实是非常的精妙,把整个流程搞懂以后让我受益无穷. 这里插一句题外话,阿里的weex也马上就要开源了,我身边的小伙伴也有已经拿到源码投身于其中的,