Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不同意图的构造器有什么用途? Intent(字符串操作,Uri) 使用给定的操作和给定的数据url创建意图。 意图(上下文包上下文,类cls) 为特定组件创建意图。 意图(字符串操作、Uri、上下文包上下文、类cls) 使用指定的操作和数据为特定组件创建意图。_Java_Android_Android Intent - Fatal编程技术网

Java 不同意图的构造器有什么用途? Intent(字符串操作,Uri) 使用给定的操作和给定的数据url创建意图。 意图(上下文包上下文,类cls) 为特定组件创建意图。 意图(字符串操作、Uri、上下文包上下文、类cls) 使用指定的操作和数据为特定组件创建意图。

Java 不同意图的构造器有什么用途? Intent(字符串操作,Uri) 使用给定的操作和给定的数据url创建意图。 意图(上下文包上下文,类cls) 为特定组件创建意图。 意图(字符串操作、Uri、上下文包上下文、类cls) 使用指定的操作和数据为特定组件创建意图。,java,android,android-intent,Java,Android,Android Intent,虽然这对一些人来说可能是显而易见的,但你们能帮助我们中那些难以“得到它”的人吗 例如,在什么情况下,我希望1胜过另一个?有两种类型的意图: 显式意图指定以名称(完全限定类名)开头的组件。您通常会使用明确的意图在自己的应用程序中启动组件,因为您知道要启动的活动或服务的类名。例如,启动新活动以响应用户操作或启动服务以在后台下载文件 隐式意图不命名特定组件,而是声明要执行的常规操作,从而允许来自另一个应用程序的组件处理该操作。例如,如果要向用户显示地图上的位置,可以使用隐式意图请求另一个功能强大的应

虽然这对一些人来说可能是显而易见的,但你们能帮助我们中那些难以“得到它”的人吗


例如,在什么情况下,我希望1胜过另一个?

有两种类型的意图:

  • 显式意图
    指定以名称(完全限定类名)开头的组件。您通常会使用明确的意图在自己的应用程序中启动组件,因为您知道要启动的活动或服务的类名。例如,启动新活动以响应用户操作或启动服务以在后台下载文件
  • 隐式意图
    不命名特定组件,而是声明要执行的常规操作,从而允许来自另一个应用程序的组件处理该操作。例如,如果要向用户显示地图上的位置,可以使用隐式意图请求另一个功能强大的应用程序显示地图上的指定位置
当您创建启动活动或服务的明确意图时,系统会立即启动意图对象中指定的应用程序组件

当您创建一个隐式意图时,Android系统会通过将意图的内容与设备上其他应用程序的清单文件中声明的意图过滤器进行比较,找到要启动的适当组件。如果意图与意图过滤器匹配,系统将启动该组件并将其传递给意图对象。如果多个意图过滤器兼容,系统将显示一个对话框,以便用户选择要使用的应用程序

更多信息请访问:


回到你的问题上来,这三种结构都是创建隐式/显式意图的方法。在哪里

  • Intent(字符串操作,Uri)
    使用给定的操作和Uri创建一个

  • Intent(Context-packageContext,Class-cls)
    创建明确的意图

  • Intent(字符串操作、Uri、上下文包上下文、类cls)
    使用给定的操作和Uri创建显式意图

-在隐含意图的情况下,当您想执行某些操作时,使用带有“操作”字符串的意图[Intent.Action\u DIAL,Intent.Action\u VIEW]。指定广播接收器以广播某些消息。 -意图(Context packageContext,Class cls)当您只想从现有活动中调用新活动时,可以使用它。

案例1:要求执行特定操作(称为impicit Intent), 即

上面的操作会拨打电话#,在某些情况下,如果有多个应用程序可以执行此操作,则会打开一个选择器对话框,其中可能会显示:

使用以下命令完成操作: 拨号器 我的拨号器

并等待用户选择

案例2:通过引用其名称(明确的意图)启动另一个活动 即

案例3:它是前两种的混合: 告诉已启动的活动执行特定的操作 即


希望这有助于加深您的理解

太好了,如果我能不止一次投票给你,我会的。简单、清晰、信息量大。再次感谢。@SpaceGhost谢谢:)
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.
    Intent(INTENT.ACTION_DIAL,Uri.parse("555-555-5555")) 
      Intent(Context.this,ActivityToBeLaunched.class)
   Intent(INTENT.ACTION_DIAL,Uri.parse("555-555-5555",Context.this,ActivityToBeLaunched.class))