我对android很新,我无法找到在android中使用Intent
的内容。
我能理解代码:
Intent i = new Intent(getApplicationContext(),Myclass.this);
startActivity(i);
它做了什么。但我的问题是为什么我们需要Intent
来创建Activity
。为什么不允许安卓人员允许我们直接创建Activity
而不是使用Intent
。
答案 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操作系统是如何设计的,以便做出正确而正确的答案是非常困难的。