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

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

提前致谢。

Solutions Collecting From Web of "当我必须使用Intents时,什么是createChooser? 我能用这个方法做什么?"

例如:您的应用程序中有一个共享图片选项。

你定义一个这样的意图:

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一个…这里是一个例子