2

我对 android 很陌生,我无法找到Intent在 android 中的用途。

我可以理解代码:

   Intent i = new Intent(getApplicationContext(),Myclass.this);
   startActivity(i);

它能做什么。但我的问题是为什么我们需要Intent创建一个Activity. 为什么 android 的人不能让我们允许Activity直接创建而不是使用Intent.

4

3 回答 3

5

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

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

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

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

于 2013-03-17T12:51:35.383 回答
1

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

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

它最重要的用途是在活动的启动和开始服务中,它可以被认为是活动之间的粘合剂。

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

阅读意图的 android 开发者文档。

于 2013-03-17T12:45:05.000 回答
1

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

我会说它是 Android 的原生内置功能/机制来执行某些操作(例如在活动之间切换),您应该遵循它。

通常 Intent 是做某事的“意图”。您可以将其想象为表示您希望某事发生的消息,并且您可以指定应该发生的事情。

强烈质疑 Android 操作系统是如何设计的,因此很难做出真正正确和正确的答案。

于 2013-03-17T12:53:50.780 回答