Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android Studio的文件管理器中获取我保存的照片_Java_Android_Android Studio - Fatal编程技术网

Java 如何在Android Studio的文件管理器中获取我保存的照片

Java 如何在Android Studio的文件管理器中获取我保存的照片,java,android,android-studio,Java,Android,Android Studio,我的应用程序有一些问题,我有打开相机和保存拍摄照片的代码,但是,当我使用文件管理器时,我找不到它们。有人能帮我吗 这是我的拍照代码: cameraBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { mPhotoUri = FileProvider.getUriForFile(MainActivity.th

我的应用程序有一些问题,我有打开相机和保存拍摄照片的代码,但是,当我使用文件管理器时,我找不到它们。有人能帮我吗

这是我的拍照代码:

cameraBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mPhotoUri = FileProvider.getUriForFile(MainActivity.this, BuildConfig.APPLICATION_ID + ".provider", createImageFile());
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            intent.setClipData(ClipData.newRawUri("A photo", mPhotoUri));
            intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
            intent.putExtra(MediaStore.EXTRA_OUTPUT, mPhotoUri);
            startActivityForResult(intent, ACTIVITY_REQUEST_CODE);
        }
    });
private File createImageFile() {
    // Create an image file name
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    String imageFileName = "JPEG_" + timeStamp + "_";
    File storageDir = new File(getFilesDir(), "images/");
    if (!storageDir.exists()) storageDir.mkdirs();
    File image = null;
    try {
        image = File.createTempFile(
                imageFileName,  /* prefix */
                ".jpg",         /* suffix */
                storageDir      /* directory */
        );
    } catch (IOException e) {
        e.printStackTrace();
    }

    // Save a file: path for use with ACTION_VIEW intents
    mCurrentPhotoPath = "file:" + image.getAbsolutePath();
    return image;
}
工作人员将照片保存在:
/data/data/com.example.miarkait/files/images

这是打开文件管理器的代码:

imageBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i = new Intent(Intent.ACTION_GET_CONTENT, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
            final int ACTIVITY_SELECT_IMAGE = 1234;
            startActivityForResult(i, ACTIVITY_SELECT_IMAGE);

        }
    });
但在这个管理器中,我只能看到“原始”相机拍摄的照片:

文件(getFilesDir()

GetFileDir()是应用程序的专用存储位置

没有其他应用程序可以访问

甚至连文件管理器都没有


你不能用ACTION\u GET\u CONTENT来选择它。

那么,我如何将我的照片存储在其他应用程序可以看到它们的地方呢?将它们放在你自己的公用目录DCIM或图片文件夹中。