如何解决如何在回收设备视图上从特定设备文件夹显示媒体文件
大家好,需要帮助
这是我的要求:-
- 我的设备中有一个文件夹
- 其中有不同类型的文件
- 想要将所有这些文件加载到回收站视图(仅显示)上
请指导我,我是android开发的初学者
预先感谢。
解决方法
就文件访问而言,对于android 10来说事情变得复杂,对于android 11来说事情甚至更加复杂。阅读有关范围存储和存储访问框架(SAF)的信息
这段代码检查一个文件夹并查找目录。我希望这会带来一些想法
private void getDir(String dirPath) throws IOException {
fileNames = new ArrayList<>();
strpath = dirPath;
setTitle(strpath);
String rootItem = "";
File f = new File(dirPath);
DocumentFile pickedDir = fio.getDocumentFileIfAllowedToWrite(f,mContext);
if (pickedDir != null) {
DocumentFile dfile[] = pickedDir.listFiles();
if (!dirPath.equals("/")) {
rootItem = dirPath;
}
if (null != dfile) {
for (int i = 0; i < dfile.length; i++) {
DocumentFile file = dfile[i];
if (file.isDirectory()) {
if (file.canRead()) {
String next_part = dfile[i].getName();
try {
fileNames.add(f.getAbsolutePath() + "/" + next_part);
} catch (Exception e) {
e.printStackTrace();
}
}
} else {
if (tracks.checkAndroidAudioFormat(file.getName())) {
fileNames.add(file.getName());
}
}
}// end of loop
Collections.sort(fileNames,new Comparator<String>() {
public int compare(String obj1,String obj2) {
return obj1.compareToIgnoreCase(obj2);
}
});
// now insert root at position1
fileNames.add(0,rootItem);
mAdapter = new browseLocalFoldersAdapter(
browseLocalFoldersActivity.this,fileNames);
mAdapter.initializearray(fileNames.size());
mListView.setAdapter(mAdapter);
invalidateOptionsMenu(); // triggers onPrepareOptionsMenu etc.
progressBar.setVisibility(View.INVISIBLE);
}
}else{
// FragmentManager manager = getParentFragmentManager();
FragmentManager manager = getSupportFragmentManager();
FilePickerDialog dialog = new FilePickerDialog();
Bundle b = new Bundle();
b.putInt("ACTION_CODE",0);
b.putString("COMMENT",getString(R.string.setpermissions));
b.putString("BUTTON",getString(R.string.set_sdcard_permissions));
b.putInt("OPEN_INTERNAL_STORAGE_REQUEST_CODE",OPEN_STORAGE_REQUEST_CODE);
dialog.setArguments(b);
// dialog.setTargetFragment(this,OPEN_STORAGE_REQUEST_CODE);
dialog.show(manager,"OPEN_INTERNAL_STORAGE_REQUEST_CODE");
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。