I nasza aplikacja (Xamarin C#) pobieramy pliki z serwera. Pod koniec succeful pobrania otrzymujemy URI do nowo pobranego pliku i od URI mamy ścieżkę pliku:Android 6 pobierz ścieżkę do pobranego pliku
Android.Net.Uri uri = downloadManager.GetUriForDownloadedFile(entry.Value);
path = u.EncodedPath;
W Androidzie 4.4.2 i Androida 5 ścieżki uri i wyglądać następująco:
uri="file:///storage/emulated/0/Download/2.zip"
path = u.EncodedPath ="/storage/emulated/0/Download/2.zip"
następnie używamy ścieżkę przetworzyć plik. Problem polega na tym, że w Androida 6 (na prawdziwym telefonie Nexus) otrzymujemy zupełnie inny Uri i ścieżkę:
uri="content://downloads/my_downloads/2802"
path="/my_downloads/2802"
To łamie mi kod rzucając wyjątek FileNotFound. Zauważ, że pobrany plik istnieje i znajduje się w folderze Pobrane. Jak mogę użyć identyfikatora URI, który otrzymałem z systemu Android 6, aby uzyskać poprawną ścieżkę do pliku, aby móc go przetworzyć i przetworzyć?
Dziękuję [email protected]
To budować z SDK 22 – user1523271
Próbowaliśmy zarówno SDK 22 i 23 tego samego rezultatu – user1523271