Biorę plik ze ścieżki z galerii obrazów i próbuję załadować go w następujący sposób. Ścieżka pliku: /storage/sdcard0/DCIM/Camera/1436267579864.jpg. Próbowałem także przekazać Uri I również uprawnienia do odczytu na kartę SD.Biblioteka Picassa nie ładuje obrazów z karty SD na Androida
Kończy się metodą onError()
. Jednak podobna metoda działa dobrze w przypadku adresów internetowych. Jak mogę to rozwiązać?
private void getImage(File file) {
if(file.exists()) {
Picasso.with(activity)
.load(file)
.error(R.drawable.noimage)
.into(imgPreview, new Callback() {
@Override
public void onSuccess() {
if (progressBar != null && imgPreview != null) {
imgPreview.setVisibility(View.VISIBLE);
imgPreview.setTag("loaded");
progressBar.setVisibility(View.GONE);
}
}
@Override
public void onError() {
if (progressBar != null && imgPreview != null) {
imgPreview.setVisibility(View.VISIBLE);
progressBar.setVisibility(View.GONE);
}
}
});
}
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Jakiej wersji Androida używasz? Jakie elementy "" masz w swoim manifeście? –
CommonsWare
Dzięki. Dodałem mój Manifest powyżej. Telefon ma najnowszą wersję (4.x) – pats
wypróbowałeś "file: ///storage/sdcard0/DCIM/Camera/1436267579864.jpg" – ligi