当我必须使用Intents时,什么是createChooser? 我能用这个方法做什么?

我一直在看stackoverflow,但我没有find什么是“createChooser”的定义,为什么我可以使用,在某种情况下是好的使用它。

提前致谢。

  • 是否可以刷新片段的视图
  • 将数据向后发送到以前的活动
  • Android:使用图标作为后退button,无需重新载入以前的活动
  • startActivityForResult()和startActivity()之间的区别?
  • Android - 从家庭或历史中检测应用程序启动
  • Android - 通过put / getExtra启动额外信息的服务
  • 点击button发送来自Android应用程序的电子邮件
  • 如何使用Notification.deleteIntent
  • 例如:您的应用程序中有一个共享图片选项。

    你定义一个这样的意图:

    Intent picMessageIntent = new Intent(android.content.Intent.ACTION_SEND); picMessageIntent.setType("image/jpeg"); File downloadedPic = new File( Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_DOWNLOADS), "q.jpeg"); picMessageIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(downloadedPic)); 

    比你打电话时

     startActivity(picMessageIntent); 

    您的手机上的所有应用程序能够得到这张照片将被列出。

    如果你想自定义列表的标题,你可以使用createChooser这样的:

     startActivity(Intent.createChooser(picMessageIntent, "Send your picture using:")); 

    在这里输入图像说明

    从应用程序第一次调用startActivity(intent)时,用户将看到所有能够处理此意图的应用程序的列表。

    也可以select使用列表中的某个应用程序始终处理此意图。 如果使用这个选项,那么列表将不会再显示。

    如果您在您的意图中使用createChooser,那么“始终使用此应用程序”选项不会显示。 用户总是看到这个列表。

    这个方法在你想用Intent创build一个自定义动作的时候使用…就像android提供的ACTION_VIEW等一样…但是当这里有多个选项可以执行一个动作时,这个select器会popup一个对话框,所有可用的选项,并让用户select一个…这里是一个例子