我一直在查看stackoverflow但是我没有找到关于什么是“createChooser”的定义以及为什么我可以使用它并且在某种情况下使用它是好的。
提前致谢。
答案 0 :(得分:23)
例如:您的应用程序中有一个共享图片选项。
您可以定义这样的意图:
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:"));
答案 1 :(得分:5)
首次从您的应用程序调用startActivity(intent)时,用户会看到所有能够处理此意图的应用程序列表。
还可以使用列表中的某个应用程序始终处理此意图。如果使用此选项,则列表将永远不会再次显示。
如果你在意图中使用createChooser,那么"总是使用这个应用程序"选项未显示。用户始终会看到此列表。
答案 2 :(得分:1)
当您想要使用Intent创建自定义动作时使用此方法...就像android提供ACTION_VIEW
等...但是当有多个选项来执行Action时,此选择器将打开一个对话框,其中包含所有可用选项,让用户选择一个...这里是example