Android 为什么要使用意图来创建活动?

Android 为什么要使用意图来创建活动?,android,android-intent,Android,Android Intent,各位 这是一个新手问题。我读过几篇关于意图的文章,但对于开始一项活动时意图背后的主要思想,我有点困惑。如果我知道我必须创建并展示一个活动,为什么我不能做以下简单的事情 MyActivity a = new MyActivity(); a.show(); 提前感谢您的帮助 问候, Peter意图是对要执行的操作的抽象描述。它可以与startActivity一起使用以启动活动,broadcastIntent将其发送到任何感兴趣的BroadcastReceiver组件,以及startServic

各位

这是一个新手问题。我读过几篇关于意图的文章,但对于开始一项活动时意图背后的主要思想,我有点困惑。如果我知道我必须创建并展示一个活动,为什么我不能做以下简单的事情

 MyActivity a = new MyActivity();
 a.show();
提前感谢您的帮助

问候,

Peter

意图是对要执行的操作的抽象描述。它可以与startActivity一起使用以启动活动,broadcastIntent将其发送到任何感兴趣的BroadcastReceiver组件,以及startService(Intent)或bindService(Intent、ServiceConnection、int)与后台服务通信

Intent提供了一种工具,用于在不同应用程序中的代码之间执行后期运行时绑定。它最重要的用途是在启动活动时,可以将其视为活动之间的粘合剂。它基本上是一个被动数据结构,包含对要执行的操作的抽象描述


点击查看更多信息。

在基本词汇
中,Intent
是您对Android设备的关注。您的活动可以通过
Intent
与Android对话,并在手机上收听“任何变化”


这就像“祖母”坐在户外的大房子的入口旁边,听所有的谈话,闲话,并通知你们有关的事情

活动有生命周期,由框架管理。我想说,为了更好地把握生命周期,Android引入了一套规则来启动一项活动(startActivity)。对于附加组件,目的不仅仅是启动您的活动。意图可用于启动其他第三方或内部构建视图/服务/目标。这可能是他们引入意图的另一个原因。只要我的两分钱

意图在应用程序中的活动之间以及应用程序之间进行通信

你的例子是:

MyActivity a = new MyActivity();
a.show();
假设Android只是一个对象,所以实例化一个活动并以某种方式显示它会使它出现。但事实并非如此;安卓系统做的更多。应用程序中的活动在Android框架内是“浮动”的。大多数让一项活动起作用的东西对你来说是看不见的。特别是,特定于Android的线程模型以及系统与Android组件(如活动)的通信方式是不可见的


我将不详细介绍其中的大部分内容,但启动活动的意图的另一个优点是,活动可以将自己添加为希望执行特定任务的意图的候选对象。假设我有一个编辑图像的应用程序。我可以通过过滤对MIME类型具有action\u EDIT的意图来轻松发现自己,我可以处理这些意图。这正是Android实现应用程序列表的方式,当您尝试使用文件执行某项操作时,会出现这些应用程序。

您将如何设置
意图过滤器
、使用
标志
,以及
意图
可以做的其他事情?当然,他们仍然可以找到其他方法,但如果你想找到其他方法,为什么不使用
意图