为什么我们需要创建活动的意图?

时间:2013-03-17 12:43:42

标签: android android-intent android-activity

我对android很新,我无法找到在android中使用Intent的内容。

我能理解代码:

   Intent i = new Intent(getApplicationContext(),Myclass.this);
   startActivity(i);
它做了什么。但我的问题是为什么我们需要Intent来创建Activity。为什么不允许安卓人员允许我们直接创建Activity而不是使用Intent

3 个答案:

答案 0 :(得分:3)

这是一个Android设计问题。背后的想法是,你总是只填充一个意图(离子),说“我想查看这个URL”“我想开始我的主屏幕发射器“。系统检查哪些应用程序能够满足此请求,并且 - 如果有多种可能性 - 允许您选择其中一个。

从某个角度来看,这有点灵活。例如。在我上面的第一个例子中,您不需要知道Android标准浏览器是否存在或者是否已安装Chrome。您只需要求系统查看URL:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(intent);

一方面有一些好处,另一方面它可能看起来有点复杂。

答案 1 :(得分:1)

应用程序的三个核心组件 - 活动,服务和广播接收器 - 通过称为意图的消息激活。

意图是异步消息,允许Android组件从Android系统的其他组件请求功能。例如,一个Activity可以向Android系统发送一个Intents,从而启动另一个Activity。

其最重要的用途是启动活动并开始服务,可以将其视为活动之间的粘合剂。

Intent可以用于打开其他应用程序,如facebook,twitter,email等。从这里你可以发送电子邮件,在facebook上分享照片并在twitter上发送文字。

阅读intent的Android开发人员文档。

答案 2 :(得分:1)

  

我的问题是为什么我们需要Intent来创建一个Activity

我想说它是Android的本机内置功能/机制,可以执行某些操作(例如在“活动”之间切换),您应该遵循它。

一般意图是“意图”做一些动作。你可以把它想象成一条消息,表示你想要发生一些事情,你可以指定应该发生什么。

强烈质疑Android操作系统是如何设计的,以便做出正确而正确的答案是非常困难的。