android在应用程序的根目录中创建文件夹

时间:2017-09-13 05:10:23

标签: android

我正在创建一个模块,就像我可以访问摄像头来捕获图像一样,捕获的图像只能通过不在图库中的应用程序或文件管理器中看到。我创建了它。但仅限于像三星Mi这样的手机手机图像不可见,但只有一个,索尼图像是可见的,为什么这样,它在一些手机而不是在一些手机中工作

我的代码:

private void createDirectoryAndSaveFile(Bitmap imageToSave) {

    File direct = new File(getFilesDir() + "/CAT_IMG/");
    String timeStamp = new SimpleDateFormat("ddMMyyyy_HHmmss").format(new Date());
    String fileName = "fav" + timeStamp + ".JPG";
    if (!direct.exists()) {
       // File wallpaperDirectory = new File("/CAT_IMG");
        direct.mkdir();
    }

    File file = new File(direct, fileName);
    if (file.exists()) {
        file.delete();
    }
    try {
        FileOutputStream out = new FileOutputStream(file);
        imageToSave.compress(Bitmap.CompressFormat.JPEG, 100, out);
        out.flush();
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 1 && resultCode == Activity.RESULT_OK) {
        Bitmap photo = (Bitmap) data.getExtras().get("data");
        createDirectoryAndSaveFile(photo);
        Log.e("URI", data.getExtras().get("data") + "");

    }
}

2 个答案:

答案 0 :(得分:0)

  

您需要AndroidManifest.xml中的权限

[spotifyplaybutton play="spotify:album:6ttYxo44Qt6rC1z8ibKn9s" view=”coverart” size=”0″ sizetype=”compact” theme=”white”]
  

创建目录: -

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

答案 1 :(得分:0)

如果要将文件存储在应用程序的根目录中,则应使用getExternalFilesDir在应用程序的根目录中创建目录,如下所示:

File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
if (!storageDir.exists()) {
    storageDir.mkdirs();
}

然后将您的图像文件放在目录中。另外,请不要忘记在AndroidManifest.xml中提供读取和写入存储空间的权限,如下所示:

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