Добрый всем вечер!
Вопрос (в двух вариантах):
1а. Могу ли я организовать директорию куда пользователь сможет класть файлы (т.е. директория должна быть видна как и игре на unity так и обычному файловому менеджеру или при (в случае android) файловому менджеру windows когда мы подключаем телефон\планшет к компу)
1б. Могу ли я получить доступ к каким либо директориям вне компетенции моей программы (например в storage\remarks)
Предпочтительнее вариант 1а.
2. Как получить список файлов в этой директории?
Нужно решение и под android и под windows.
Спасибо заранее!
Хитренький какой :) андроид точно тебе по-рукам надает, линух тоже
а вот про винду неееенаю, ибо она еще та дырявая.
DanQuimby
Почему "хитренький", видимо ты не совсем понял о чем речь. На java это делается (на андроид) с полпинка (доступ к директориям, вариант 1б), можно сделать вставку на java и прописать provider в manifest. Я думал что может у кого-то есть наработка именно ориентированная на Unity. Что касается варианта 1а, тут действительно нужна идея.
Вопрос 2 решается через DirectoryInfo dir = new DirectoryInfo(filePath);
Таким образом остается 1а, 1б
Надо устанавливать поддержку wevdav или ftp.
Ну, или свой сервак обучать выполнять файловые операции.
tigerigor
> На java это делается (на андроид) с полпинка (доступ к директориям, вариант
> 1б), можно сделать вставку на java и прописать provider в manifest.
У андрюши все очень жестко с разрешениями. Доступ из под приложения еще куда ни шло, но доступ к fileDir() и cacheDir() извне на неломанном устройстве (например из под винды) - это очень вряд ли.
Технически вам нужен ExternalStorage - то есть просто хранение файлов на внешнем по отношению к приложению хранилище - например на sdcard. Прописываете в манифест, но поскольку это весьма уязвимая опция - разрешение дается со стороны гугла, а не пользователем. Т.е вам еще предстоит пройти верификацию и как то объяснить гуглу почему вам обязательно нужно это разрешение. Но по сути вы, да, сможете содержать папочку где то на видном месте на устройстве пользователя и сможете скидывать туда что угодно из приложения.
Но поскольку я не работаю с Unity, то честно говоря не уверен по поводу того как это там может быть устроено.
Все оказалось проще:
https://assetstore.unity.com/packages/tools/gui/runtime-file-browser-113006
Проверил - работает.
Всем спасибо.
Тема закрыта.
Ты только осознавай, что создаешь дыру в безопасности, через которую очень даже можно вскрыть всю систему и заставить ее делать совсем не то, что ты планировал.
Протоколы ftp и webdav совсем не зря обложены кучей ограничений. Если у тебя работает серверный софт, ему доступна местная файловая система и он может начать выполнять запросы на внешние манипуляции с ней. Но о безопасности если не подумать, какой-нибудь гад через это влезет. О безопасности вряд ли думают, это трудно и дорого, тем более что гада пока на горизонте не видно.
Zab
Именно для этого существует система ограничений по доступу в android. и вопрос к пользователю - даст он доступ или нет.
Неоднократно выкладывал приложения специального назначения написанные на java (например по мерчандайзингу или анкетированию) и единственный вопрос который возникал при публикации это по доступу к координатам с параметром fine (и то после 2014 года и потому что я из России). Вопрос по доступу к файлам, галерее, фото не возникал ни у гугла ни у пользователей - это стандартные (!) подтверждения (меняющиеся, уточняющиеся от версии sdk к версии (и от версии android к версии)), никакой крамолы тут нет.
Я задавал вопрос только по теме как это делается в unity.
Тема в архиве.