问题描述
Intent(String action, Uri uri)
Create an intent with a given action and for a given data url.
Intent(Context packageContext, Class<?> cls)
Create an intent for a specific component.
Intent(String action, Uri uri, Context packageContext, Class<?> cls)
Create an intent for a specific component with a specified action and data.
虽然对某些人来说很明显,但是你们能帮助我们中那些很难获取"的人吗?
While it may be obvious to some, could you guys help out those of us that have a hard time "getting it"?
例如,在什么情况下我要比其他情况多1?
For example, in what situation would I want 1 over the other?
推荐答案
有两种类型的意图:
-
显式意图
指定要按名称(完全限定的类名称)开头的组件.通常,您将使用显式意图在自己的应用程序中启动组件,因为您知道要启动的活动或服务的类名.例如,响应用户操作而启动新活动,或启动服务以在后台下载文件. -
隐式意图
不命名特定组件,而是声明要执行的常规操作,该操作允许另一个应用程序中的组件进行处理.例如,如果要在地图上向用户显示位置,则可以使用隐式意图来请求另一个功能强大的应用在地图上显示指定位置.
创建显式意图以启动活动或服务时,系统会立即启动Intent对象中指定的应用程序组件.
When you create an explicit intent to start an activity or service, the system immediately starts the app component specified in the Intent object.
创建隐式意图时,Android系统通过将意图的内容与设备上其他应用的清单文件中声明的意图过滤器进行比较,找到合适的组件来开始.如果该意图与意图过滤器匹配,则系统将启动该组件并将其交付给Intent对象.如果兼容多个意图过滤器,则系统将显示一个对话框,以便用户可以选择要使用的应用程序.
When you create an implicit intent, the Android system finds the appropriate component to start by comparing the contents of the intent to the intent filters declared in the manifest file of other apps on the device. If the intent matches an intent filter, the system starts that component and delivers it the Intent object. If multiple intent filters are compatible, the system displays a dialog so the user can pick which app to use.
更多信息,请参见: 意图和意图过滤器
read more at : Intents and Intent Filters
回到您的问题,所有这三种结构都是创建隐式/显式意图的方法.哪里
Coming back to your question, all these three constructures are ways to create Implicit/ Explicit intent. Where
-
Intent(字符串操作,Uri uri)
创建一个内含意图,其中包含给定的操作和uri.
Intent(String action, Uri uri)
creates an implicit intent with given action and uri.
Intent(上下文packageContext,Class<?> cls)
创建一个显式意图.
Intent(字符串操作,Uri uri,Context packageContext,Class<?> cls)
创建具有给定操作和uri的显式意图.
Intent(String action, Uri uri, Context packageContext, Class<?> cls)
creates an explicit intent with given action and uri.
这篇关于不同的Intent构造函数有什么作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!