Создать папку в Android в папке DCIM (Извините, еще одна.) - PullRequest
0 голосов
/ 17 октября 2019

Хорошо, я делаю игру в Unity и пытаюсь сделать снимок экрана и сохранить его в папке, которую я создаю в папке DCIM. Я пытался создать папку в Unity, но она никогда не работала. Я попытался создать плагин в Android-студии, чтобы сделать это, но безуспешно.

Вот мой код Java:

package foldercreator.TehBestCompany.com.foldermakerlibrary;

import android.os.Environment;
import android.util.Log;

import java.io.File;
import java.lang.String;


public class FolderMaker {

    public boolean MoveFile( String filename, String sourceFolder, String destinationFolder )
    {
        String fullDestinationFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString() + "/" + destinationFolder;

        Log( "Destination folder " + fullDestinationFolder);

        final File f = new File( fullDestinationFolder );

        if (!f.exists()) {
            Log( "Folder doesn't exist, creating it...");
            boolean rv = f.mkdir();
            Log( "Folder creation " + ( rv ? "success" : "failed"));
        } else {
            Log( "Folder already exists.");
        }

        return true;
    }



    private void Log( String message )
    {
        Log.d("[LOG FILE]", message );
        System.out.println( "[LOG FILE] " + message );
    }
}

Когда я запускаю код, я всегда получаю «Папку»сообщение об ошибке создания не удалось.

Вот мой манифест библиотеки (я проверил вариант использования внешнего хранилища в Unity, если это помогает):

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="foldercreator.TehBestCompany.com.foldermakerlibrary" >
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>

Может кто-нибудь дать мне какой-нибудь совет?

Я знаю, что этот вопрос задавался много раз раньше, но после целого дня попыток найти различные решения у меня нет идей.

1 Ответ

0 голосов
/ 17 октября 2019

Для меня это сработало, когда я изменил эту строку:

String fullDestinationFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString() + "/" + destinationFolder;

Кому:

String fullDestinationFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)+"/destenationFolder");

А потом:

File fileName = new File(fullDesinationFolder, "screenshot.jpeg");

Или просто сделать сразу:

File fileName = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)+"/destenationFolder"), "screenshot.jpeg");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...