android - 在内部存储中创建的文件夹未显示
问题描述
我正在尝试在单击按钮时在内部存储中创建一个文件夹,但我不知道为什么它不起作用。
backUp.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
File sub = new File(MainActivity.this.getFilesDir(), "new_folder");
if (!sub.exists()){
sub.mkdirs();
Toast.makeText(getApplicationContext(), "Sucess!!",
Toast.LENGTH_LONG).show();
}
}
});
看起来不错,显示成功 toast 但看不到目录中的文件夹。甚至尝试使用以下方法刷新目录:
MediaScannerConnection.scanFile(MainActivity.this, new String[] {sub.toString()}, null, null);
还在 Menifest 中提供了 WRITE_INTERNAL_STORAGE 权限。
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
解决方案
您将需要权限,在AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
按钮点击 Context.MODE_PRIVATE
是使用
File mydir = context.getDir("users", Context.MODE_PRIVATE); //Creating an internal dir;
if (!mydir.exists())
{
mydir.mkdirs();
}
推荐阅读
- asp.net-core - 在 IIS 中作为 Windows 帐户运行?
- angular - Stackblitz 中的服务连接不起作用
- optaplanner - 为什么更改问题事实属性的问题事实更改会导致损坏?
- python - 用 Python 制作像 Mastermind 这样的游戏
- python-3.x - python argparse 如果选择了参数,则需要另一个参数 =True
- php - 与 Eloquent 的 3 方支点连接
- oracle - Oracle 表单生成器 , pl/sql
- swift - 图像资产未显示在 Swift 的编程布局中
- amp-html - AMP4EMAIL:从模板中的状态设置表单值
- php - MySQL 连接使用我的主机名而不是 ipv4 地址,导致无法访问