В моем приложении пользователи выбирают файлы. Внутри я храню информацию о файле, который я использую на основе пути к файлу. В следующий раз, когда этот файл используется, я делаю материал с сохраненной информацией. Проблема заключается в том, что я создаю файлы с помощью:
File file1 = new File(Environment.getExternalStorageDirectory() + "/test.txt");
И затем, на конкретном устройстве JB, file1.getCanonicalPath() дает: "/storage/emulated/0/test.txt".
Проблема в том, что когда другие приложения запускают мое приложение с файловым путем в Intent, пути, которые они отправляют, имеют тенденцию выглядеть так: "/mnt/sdcard/test.txt".
Есть ли разумная стратегия для устранения двусмысленности этих двух путей? Возможно, мне нужно создавать экземпляры файлов по-другому?
Изменить:
Проблема состоит в том, что два канонических пути для двух файлов не равны. Для ниже, cp1=="mnt/sdcard/test/txt"
и cp2=="/storage/emulated/0/text/txt"
:
File file1 = new File("/mnt/sdcard/test.txt");
File file2 = new File("/storage/emulated/0/test.txt");
String cp1 = file1.getCanonicalPath();
String cp2 = file2.getCanonicalPath();