如何获取前两个选择器意图并仅向 android 中的用户显示它们
How to get first two chooser intents and display only them for user in android
我试图在选择器意图中仅显示图库和文件管理器
所以,我尝试了下面的方法
Intent intent = new Intent();
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.putExtra(Intent.EXTRA_LOCAL_ONLY,true);
intent.setAction(Intent.ACTION_PICK);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), RESULT_LOAD_IMAGE);
但除了图库和文件资源管理器之外,它还展示了其他应用程序。它还显示 google 驱动器
因此,我决定只选择前两个意图并删除其他意图。
如何实现?
使用这种类型的代码:
Intent i= new Intent(Intent.ACTION_GET_CONTENT);
i.setType("image/*");
Intent pickIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
pickIntent.setType("image/*");
Intent chooserIntent = Intent.createChooser(i, "Select Image");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] {pickIntent});
startActivityForResult(chooserIntent, PICK_IMAGE);
对于您的情况,实现所需内容的最简单方法是
添加下行
intent.setData(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
通过添加以上行,您可以删除用户安装的应用程序。
但要注意一件事
- 当您使用
intent.setAction(Intent.ACTION_PICK);
时,您将看到 phone 制造商提供的图库、文件管理器和任何内置照片应用程序提供商。
- 当您将
intent.setAction(Intent.ACTION_GET_CONTENT);
与上面一起使用时,您还会看到 Google 驱动器。
Don't go for first two chooser intents it is not recommended and I don't know the reason, Also I don't know how to do that.
希望,这给出了正确的解释和答案。
我试图在选择器意图中仅显示图库和文件管理器
所以,我尝试了下面的方法
Intent intent = new Intent();
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.putExtra(Intent.EXTRA_LOCAL_ONLY,true);
intent.setAction(Intent.ACTION_PICK);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), RESULT_LOAD_IMAGE);
但除了图库和文件资源管理器之外,它还展示了其他应用程序。它还显示 google 驱动器
因此,我决定只选择前两个意图并删除其他意图。
如何实现?
使用这种类型的代码:
Intent i= new Intent(Intent.ACTION_GET_CONTENT);
i.setType("image/*");
Intent pickIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
pickIntent.setType("image/*");
Intent chooserIntent = Intent.createChooser(i, "Select Image");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] {pickIntent});
startActivityForResult(chooserIntent, PICK_IMAGE);
对于您的情况,实现所需内容的最简单方法是
添加下行
intent.setData(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
通过添加以上行,您可以删除用户安装的应用程序。 但要注意一件事
- 当您使用
intent.setAction(Intent.ACTION_PICK);
时,您将看到 phone 制造商提供的图库、文件管理器和任何内置照片应用程序提供商。 - 当您将
intent.setAction(Intent.ACTION_GET_CONTENT);
与上面一起使用时,您还会看到 Google 驱动器。
Don't go for first two chooser intents it is not recommended and I don't know the reason, Also I don't know how to do that.
希望,这给出了正确的解释和答案。