gpt4 book ai didi

android - 在 Android R 上创建目录

转载 作者:行者123 更新时间:2023-12-05 00:20:00 24 4
gpt4 key购买 nike

我想在手机中创建一个“RawMeasurement”目录,与 Android R 下的音乐、文档、图片...相同的位置

我用较低的 api 版本进行了测试,它可以工作,但在 android R 下,不可能。

我认为问题来自Environement.getExternalStorageDirectory()

我一直在寻找其他方法,但没有结果。

想法?预先感谢您

public void save(){

String state;
state = Environment.getExternalStorageState();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH:mm", Locale.getDefault());
String currentDateAndTime = sdf.format(new Date());

if(Environment.MEDIA_MOUNTED.equals(state)){
File Dir = new File(Environment.getExternalStorageDirectory().getPath(),"RawMeasurement");
if(!Dir.exists()) {
Dir.mkdirs();
Toast.makeText(getContext(),"new folder",Toast.LENGTH_LONG).show();
}
File file = new File(Dir,"RawMeasurements"+currentDateAndTime+".txt");
String message = "bla bla bla " ;
try{
FileOutputStream out = new FileOutputStream(file);
out.write(message.getBytes());
out.close();
Toast.makeText(getContext(),"message saved",Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
logError("error");
} catch (IOException e) {
e.printStackTrace();
}

}else{
Toast.makeText(getContext(),"echec",Toast.LENGTH_LONG).show();
}

}

最佳答案

应用程序无法在 Android 11 中的外部存储上创建自己的应用程序特定目录。您可以在公共(public)目录中创建文件夹。例如在文档文件夹中。

final File dir;
if (Build.VERSION_CODES.R > Build.VERSION.SDK_INT) {
dir = new File(Environment.getExternalStorageDirectory().getPath()
+ "//MyApp");
} else {
dir = new File(Environment.getExternalStoragePublicDirectory(DIRECTORY_DOCUMENTS).getPath()
+ "//MyApp");
}

if (!dir.exists())
dir.mkdir();

关于android - 在 Android R 上创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61528727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com