gpt4 book ai didi

java - 如何在 Android 上的可访问文件夹中创建文件? (非根)

转载 作者:行者123 更新时间:2023-12-02 12:46:08 28 4
gpt4 key购买 nike

我可以使用

创建文件
File directory = cw.getDir("media", Context.MODE_PRIVATE);
//directory.mkdirs();
File backupDB = new File(directory, backupname);

我也尝试过

 File directory = new File(Environment.getExternalStorageDirectory()+File.separator+"images");

 File backupDB = new File(directory, backupname);

如果运气不好,这就是完整的方法

   public String backUpDatabase(String backupname){

try {
File directory = new File(String.valueOf(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)));
File currentDB = new File(DBlocation);
File folder = new File("/sdcard/exports/Database_Backups/");
File backupDB = new File(directory, backupname);

if (!(folder.exists() && folder.isDirectory())) {
folder.mkdirs();
}

if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
else{
return "didnt work";
}

} catch (Exception e) {
return "didnt work";
}

return backupname.toString();

}

我已经使用了权限。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我只想将数据库文件备份到一个可访问的文件,然后我可以在手机/计算机本身上看到该文件。

最佳答案

要在 Android Lollipop 及以上版本上写入外部存储,您需要 request permission at run time.

这里三个方法很重要:

  1. ContextCompat.checkSelfPermission() 检查是否授予权限
  2. ActivityCompat.requestPermissions() 在未授予权限的情况下进行请求
  3. onRequestPermissionsResult() 在用户授予权限后执行所需的操作

Refer to this answer for the code and details

关于java - 如何在 Android 上的可访问文件夹中创建文件? (非根),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44772538/

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