如何解决在android java处理上读取文件夹目录内容
堆栈上有几个问题正好问了这个问题,但似乎没有一个答案能以任何方式解决这个问题。请注意,我正在使用处理环境进行编码,该环境使用 java,但带有包装器。不过,所有 Java 代码都可以在本机运行。
代码在 android 10 huawei mate 20 emui 10 上运行。
这是我的代码。只有第一个 for 循环返回任何值,返回“emulated”、“sdcard0”和“self”,但是后续文件夹使用相同的函数返回 null。已在清单和 pde 应用中设置权限。
import android.os.Environment;
import android.os.Build ;
import android.app.Activity;
import android.content.Context;
Permission rStorage,wStorage;
void setup(){
rStorage = new Permission(this,"READ_EXTERNAL_STORAGE");
rStorage = new Permission(this,"WRITE_EXTERNAL_STORAGE");
//String path = Environment.getExternalStorageDirectory("storage/").toString();
//println("Files","Path: " + path);
File directory = new File("storage/");
File[] files = directory.listFiles();
if(files!=null){
println("Files","Size: "+ files.length);
for (int i = 0; i < files.length; i++)
{
println("Files","FileName:" + files[i].getName());
}
}else println("Files",null);
directory = new File("storage/emulated");
files = directory.listFiles();
if(files!=null){
println("Files","FileName:" + files[i].getName());
}
}else println("Files emulated",null);
directory = new File("storage/sdcard0");
files = directory.listFiles();
if(files!=null){
println("Files","FileName:" + files[i].getName());
}
}else println("Files sdcard0",null);
directory = new File("storage/self/");
files = directory.listFiles();
if(files!=null){
println("Files","FileName:" + files[i].getName());
}
}else println("Files self",null);
};
void draw(){
};
我的权限等级
public class Permission{
papplet parent;
public boolean requestedPortraitimage = false;
public Permission(papplet pParent,String permissionName) {
parent = pParent;
parent.requestPermission("android.permission."+permissionName,"onPermissionResult",this);
println(permissionName);
};
public void onPermissionResult(boolean granted) {
if (!granted) {
papplet.println("User did not grant camera permission. Camera is disabled.");
}
};
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。