Jua*_*nez 19 android android-intent
我一直在看看stackoverflow,但我没有找到关于什么是"createChooser"的定义以及为什么我可以使用,并且在某种情况下使用它是好的.
提前致谢.
Nes*_*zon 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));
Run Code Online (Sandbox Code Playgroud)
比你打电话时:
startActivity(picMessageIntent);
Run Code Online (Sandbox Code Playgroud)
将列出手机上能够获取此图片的所有应用程序.
如果你想要推荐该列表的标题,你可以像这样使用createChooser:
startActivity(Intent.createChooser(picMessageIntent, "Send your picture using:"));
Run Code Online (Sandbox Code Playgroud)

当第一次从您的应用程序调用startActivity(intent)时,用户会看到能够处理此意图的所有应用程序的列表.
还可以使用列表中的某个应用程序始终处理此意图.如果使用此选项,则列表将永远不会再次显示.
如果您在意图中使用createChooser,则不会显示"始终使用此应用程序"选项.用户始终会看到此列表.