java - 如何定位特定文件夹以在文件选择器中打开
问题描述
我正在尝试制作一个应用程序来查看文件夹中的文件(外部存储上的应用程序存储文件夹位于 /storage/emulated/0/Android/data/app_name)
但是我无法查看该文件夹。当用户单击“设置根路径”按钮时,我想自动导航到该文件夹不执行任何操作。
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.jaiselrahman.filepicker.activity.FilePickerActivity;
import com.jaiselrahman.filepicker.config.Configurations;
import com.jaiselrahman.filepicker.model.MediaFile;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
Button btFile;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btFile = findViewById(R.id.button);
btFile.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, FilePickerActivity.class);
intent.putExtra(FilePickerActivity.CONFIGS,
new Configurations.Builder()
.setCheckPermission(true)
.setShowFiles(true)
.setShowImages(false)
.setShowAudios(false)
.setShowVideos(false)
.setMaxSelection(1)
.setSuffixes("txt","pdf","doc","docx")
.setSkipZeroSizeFiles(true)
.setRootPath("/storage/emulated/0/Android/data/")
.build());
startActivityForResult(intent,102);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK && data !=null){
ArrayList<MediaFile> mediaFiles = data.getParcelableArrayListExtra(
FilePickerActivity.MEDIA_FILES
);
String path = mediaFiles.get(0).getPath();
if(requestCode == 102){
String s = "File Path : " + path;
Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();
}
}
}
}
解决方案
推荐阅读
- r - 错误:二元运算符的非数字参数,但类是数字
- scala - Scala List Case Pattern match 实现问题:
- c# - CS0121 调用泛型容器的索引器时方法调用不明确
- python - 在 python 类中获取 RecursionError
- c - 在 C 中可以同时使用 & 和 [] 来快速获取指向数组中对象的指针吗?
- java - 打开新的“StringRequest”时出现“android.view.WindowLeaked”错误
- java - 如何理解 for 循环初始化的第 23 行发生了什么
- css - 在 Angular 应用程序的按钮内放置链接文本
- r - 在 R 中下载 URL 列表的功能是什么?
- c# - 更改行颜色 DataGridView C#