Próbuję zrobić zdjęcia zrobione w aplikacji widocznej w Galerii (aby można je było udostępniać i oglądać poza aplikacją), ale chcę zachować same obrazy znajdują się w katalogu danych aplikacji, więc po usunięciu aplikacji zostają usunięte (są przechowywane w "{sdcard}/Android/data/{appID}/Pictures/{subfolder} /").Utwórz plik obrazu widoczny w Galerii Androida na Lollipop
Mam spojrzał na wiele odpowiedzi i dla starszych wersji Androida oba z następujących rozwiązań pracy, ale nie wydaje się, aby pracować w Lollipop:
MediaScannerConnection.scanFile(this,
new String[]{file.toString()}, new String[] { "image/jpeg" },
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.i("ExternalStorage", "Scanned " + path + ":");
Log.i("ExternalStorage", "-> uri=" + uri);
}
});
Uri contentUri = Uri.fromFile(file);
Intent mediaScanIntent = new
Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,contentUri);
sendBroadcast(mediaScanIntent);
Ja testowałem to w Nexusie 4 (Android 5.0.1) i Nexus 6 (Android 5.1) i to nie działa. Na Nexusie 7 (Android 4.2.2) działa. Wszystkie 3 urządzenia mają plik ".onmedia" w folderze {sdcard}/Android/data/, więc żadne normalne skanowanie nośnika nie powinno ich odebrać ...
Czy ktoś zna pracę, aby to zrobić działa na wszystkich urządzeniach/wersjach Androida? Czy to z powodu pliku noMedia nie działa w pierwszej kolejności i czy Lollipop jest jedyną wersją, która robi to poprawnie?
Edycja: Pamiętaj, że nawet ponowne uruchomienie telefonu (które powinno również spowodować ponowne skanowanie plików) nie działa. I nie bez powodu, ponieważ pliki znajdują się w podfolderze katalogu ".nomedia" ... Zatem każde rozwiązanie zawierające transmisję MEDIA_MOUNTED jest bezużyteczne.
Plz spojrzeć na moją odpowiedź Myślę, że to działa dla Ciebie. – Lokesh