在Android中通过Intent.createChooser选择一个.bin文件

在Android中通过Intent.createChooser选择一个.bin文件,android,binaryfiles,filepicker,Android,Binaryfiles,Filepicker,运行此代码允许用户选择文件: private int PICKFILE_RESULT_CODE = 3456; Intent chooseFile = new Intent(Intent.ACTION_GET_CONTENT); chooseFile.addCategory(Intent.CATEGORY_OPENABLE); chooseFile.putExtra(Intent.EXTRA_LOCAL_ONLY, true); chooseFile.setType("file/*&q

运行此代码允许用户选择文件:

private int PICKFILE_RESULT_CODE = 3456;
Intent chooseFile = new Intent(Intent.ACTION_GET_CONTENT);
chooseFile.addCategory(Intent.CATEGORY_OPENABLE);
chooseFile.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
chooseFile.setType("file/*");
chooseFile = Intent.createChooser(chooseFile, "Choose a file");
startActivityForResult(chooseFile, PICKFILE_RESULT_CODE);
如何调整此代码以确保只能选择.bin文件

我目前有两个问题:

  • .bin文件显示为文件夹(空文件夹)
  • 我不知道如何将文件选择器限制为只包含特定扩展名的文件

[更新] 奇怪的是,在另一部Android 10手机上尝试此代码时,无法选择任何文件

将代码段改编为以下内容时:

private int PICKFILE_RESULT_CODE = 3456;
Intent chooseFile = new Intent(Intent.ACTION_GET_CONTENT);
chooseFile.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
chooseFile.setType("*/*");
chooseFile = Intent.createChooser(chooseFile, "Choose a file");
startActivityForResult(chooseFile, PICKFILE_RESULT_CODE);
可以选择扩展名为.bin的文件,但只能在第二部手机上选择。在第一部手机上,二进制文件仍然显示为空文件夹


[更新]

为了增加混淆,取消对
createChooser
的调用似乎对我的两部手机都没有效果。或者反过来说,增加通话似乎没有效果

private int PICKFILE_RESULT_CODE = 3456;
Intent chooseFile = new Intent(Intent.ACTION_GET_CONTENT);
chooseFile.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
chooseFile.setType("*/*");
startActivityForResult(chooseFile, PICKFILE_RESULT_CODE);
这让我想知道,那个电话应该在做什么


有人能理解吗?

如果你指的是扩展名为.bin的文件名,那么它们在这里是可选择的文件。是的,我指的是扩展名为.bin的文件。“这里”适用于您的手机吗?在我的手机(安卓10)上,它们显示为空文件夹,而不是10。不是11号。奇怪的故事。你使用了完全相同的代码吗?我不知道。我认为
*/*
使用或不使用类型。而且可能没有选择者。