我希望我的应用程序使用文件选择器加载文件。我尝试了一些模块来实现它,但奇怪的是我的 KitKat 有根手机和无根的早期版本可以读取存储中的目录和文件,但是对于无根的 KitKat 版本无法读取存储中的任何内容。
这是我尝试过的一些模块和我使用的代码:
Intent intent = new Intent(this, FileChooser.class);
ArrayList<String> extensions = new ArrayList<>();
extensions.add(".csv");
intent.putStringArrayListExtra("filterFileExtension", extensions);
startActivityForResult(intent, 0);`
Intent intent = new Intent(this, FileChooserActivity.class);
intent.putExtra(FileChooserActivity.INPUT_START_FOLDER, Environment.getExternalStorageDirectory());
intent.putExtra(FileChooserActivity.INPUT_REGEX_FILTER, ".*csv|.*CSV");
this.startActivityForResult(intent, 0);
另外,这是我在 AndroidManifest 中使用的权限
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
没有发现错误,只有访问存储时,什么都显示不了,但是访问根目录时,在每部手机中似乎都正常。
有没有办法修复这个或更好的支持最新版本 Android 的库/模块?
编辑解决方案: 感谢 Ish,属性 android:maxSdkVersion 可以使我的应用程序出现问题。它不应该使用该属性。代码没问题