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

问题描述

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

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 文件

我目前有两个问题:


[更新] 奇怪的是,在另一部 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,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);

这让我想知道,那个电话应该做什么?

有人能理解吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)