Я работаю над приложением, в котором я создал какую-то директорию, к которой я обращаюсь через мое приложение. Я хочу, чтобы этот каталог был скрыт для целей безопасности. Таким образом, что пользователь может получить к ним доступ только в приложении, он не обращается к ним за пределами приложения как в файловом менеджере. Любая помощь приветствуется. Не делайте его дублировать, потому что я ищу весь ответ, но никто не работал на меня.Как создать скрытый каталог в Android?
ответ
просто написать имя каталога, за которым следует точка пример (.):
.myDir or .myDir1
так что эти каталоги не будут видны через файловый менеджер. И при обращении эти каталоги называют их с помощью точки только пример (.):
"/path/to/folder/.myDir/"
То же самое можно сделать для файла
Для Скрытие папок в Android
Имя папки является MyApplicationFolder то вам нужно добавить (.) Dot перед именем папки .MyApplicationFolder.
Итак, когда папка создана, папка скрыта для изображений, видео и т. Д. Внутри, но она будет видна в FileManager.
Как я могу сделать его скрытым от везде и только видимым только в приложении. – Champandorid
На самом деле вы не можете сделать этого, но вы можете сделать свое ** местоположение папки **, которое не может быть понято другим, например, например: app/xyz/local/example ... Нравится –
быть ясно, «Вы хотите создать каталог или папку, которая не доступна для других приложений» (Какая папка приложение) или создать папку в любом месте, но это скрыть от вашего
Для Первое решение -
public static File saveFileInAppDirectory(Context context,byte[] inpute, String directoryName,String fileName){
File mypath;
File directory = new File(context.getExternalFilesDir(
Environment.DIRECTORY_PICTURES), directoryName);
if (!directory.mkdirs()) {
directory.mkdir();
}
mypath = new File(directory, fileName);
try {
InputStream is = new ByteArrayInputStream(inpute);
FileOutputStream f = new FileOutputStream(mypath);
byte[] buffer = new byte[1024];
int len1 = 0;
while ((len1 = is.read(buffer)) > 0) {
f.write(buffer, 0, len1);
}
f.close();
} catch (Exception e) {
Log.e("SAVE_IMAGE", e.getMessage(), e);
e.printStackTrace();
}
return mypath;
}
Это создаст директорию вашего приложения Путь к папке - Android/Data/Данные/Your.Package.Name/FolderName/FileName
для второго решения - просто измените имя файла
File mypath = new File(directory, "."+fileName)
;
Если вы хотите для того чтобы достигнуть как, чем просто заменить
new File(directory, fileName); with new File(directory, "."+fileName);
Просто присоединяя точку перед именем папки не будет защищать его. Он невидим для пользователя. Его все равно можно получить из приложений, включая файловых менеджеров и, следовательно, пользователей. По умолчанию это просто скрыто большинством файловых менеджеров.
Как вы хотите скрыть файлы для целей безопасности, вы должны использовать внутреннее хранилище Android.
Из официального руководства для разработчиков Android:
Вы можете сохранять файлы непосредственно на внутреннюю память устройства. По умолчанию файлы, сохраненные во внутреннем хранилище, являются приватными для вашего приложения, а другие приложения не могут получить к ним доступ (а также не могут). Когда пользователь удаляет ваше приложение, эти файлы удаляются.
Пример:
String FILENAME = "hello_file";
String string = "hello world!";
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
Вы также можете зашифровать файлы и сохранить ключ шифрования в андроида хранилище ключей.
Here - хороший ответ на вопрос о шифровании файлов в android.
Official guide относительно Android Keystore.
Спасибо за ваш ответ, могу ли я сделать файл недоступным когда пользователь пытается получить доступ к ним за пределами приложения, так что пользователь не может видеть их вне приложения, как это возможно? – Champandorid
Если вы храните их во внутреннем хранилище с помощью 'Context.MODE_PRIVATE', пользователь не должен видеть файл, так как он не может открыть каталог, в котором он хранится. – schrej
- 1. Как создать скрытый каталог
- 2. node.js создать скрытый каталог (Windows)
- 3. Создать скрытый каталог с deployment.properties
- 4. Как превратить каталог в скрытый каталог
- 5. скрытый каталог в C#
- 6. Как установить каталог как скрытый?
- 7. Как создать каталог в Android?
- 8. Создать каталог в Android
- 9. GVM использует скрытый каталог
- 10. JAVA - Android - Создать каталог
- 11. Android - Невозможно создать каталог
- 12. Как создать редактируемый каталог в Android
- 13. Как создать каталог в системе Android?
- 14. Создать не читаемый каталог в Android
- 15. Невозможно создать каталог в/data/разделе Android
- 16. создать каталог в Onedrive с помощью android
- 17. создать независимый скрытый процесс
- 18. Как создать скрытый файл в Bash
- 19. Создать скрытый cmd javascript
- 20. Как создать каталог в «user.home»?
- 21. Как создать каталог в plunker?
- 22. Как создать каталог в подпапке?
- 23. Как создать каталог в wix?
- 24. Как создать каталог в% appdata%
- 25. Как создать каталог в Makefile
- 26. Как создать каталог в Lua?
- 27. Как создать каталог в External SD в приложении android
- 28. Как создать виртуальный каталог?
- 29. Как создать папку/каталог
- 30. Bash loop через каталог, включая скрытый файл
сделал то же, но не работает. – Champandorid
опубликуйте свой код или проверьте, что на вашем устройстве «show hided file» отмечен, если он снят с него. – knownUnknown