Jak odświeżyć / ponownie przeskanować pamięć SD w Androidzie 4.4 KitKat


13

W zeszłym tygodniu otrzymałem oficjalną aktualizację OTA KitKat dla mojego Nexusa 4 i od tego czasu nie mogę ponownie skanować karty SD. Wypróbowałem wiele różnych aplikacji do tego zadania, ale wszystkie z nich ulegają awarii podczas otwierania. Trochę badań pokazuje garstkę użytkowników z tym samym problemem.

Oto aplikacje, które wypróbowałem:

  • Rescan Media ( Aditya Talpade )
  • Skanuj ponownie kartę SD! ( sTOOPIDfiG )
  • Rescan SD Media Card ( RADEFFFACTORY )
  • SDrescan ( Benjamin Rosseaux ) mój stary tryb gotowości na Jelly Bean

Każda aplikacja ulega awarii po uruchomieniu. Czy ktoś może odświeżyć pamięć SD w KitKat?

Odpowiedzi:


13

Nie działa wykrywanie usuniętych plików, ale po prostu uruchomiłem aplikację w Sklepie Play, która będzie działać na nowych i zaktualizowanych plikach: https://play.google.com/store/apps/details?id=com. gmail.jerickson314.sdscanner

Wykorzystuje obejście zainspirowane odpowiedzią Dana Hulme'a: używając interfejsu API, który jest tylko dla określonego pliku, ale ręcznie generując rekurencyjną listę plików na karcie. Wymaga to tylko uprawnień do odczytu na karcie SD, a nie rootowania, i ma przyjemny efekt uboczny, umożliwiając wiarygodny wskaźnik postępu.


To powinna być zaakceptowana odpowiedź; Odpowiedź Dana nie rozwiązuje problemu. Druga połowa problemu - pozbycie się usuniętych plików - jest rozwiązana przez ręczne wyczyszczenie pamięci podręcznej i danych usługi Media Service. Łatwo jest wejść w sytuację, w której musisz wykonać ponowne skanowanie - np. Kiedy zmieniasz nazwę folderu.
Barry Kelly,

Od czasu napisania tej odpowiedzi zaimplementowałem funkcję odczytu bazy danych mediów. O ile mi wiadomo, działa w celu wykrycia usuniętych plików. Czasami usunięte pliki w ogóle nie pojawiają się w medialnej bazie danych, co, jak podejrzewam, oznacza, że ​​są usuwane przez Muzykę Google Play lub coś, zanim dostanie się do nich skaner SD.
Jeremy Erickson,

Irytujące musiałem skopiować domyślne dzwonki, alarmy, dźwięki powiadomień itp. Do lokalizacji w / sdcard, aby znaleźć je ponownie w Ustawieniach.
Barry Kelly,

Niestety aplikacja wydaje się już nie być w sklepie
Edward Falk

6

Nie możesz już używać takich aplikacji. Ponieważ wiele aplikacji nadużywało MEDIA_MOUNTEDzamiaru transmisji, aby spowodować ponowne skanowanie całego systemu plików (rozładowanie baterii) po zmianie tylko jednego pliku, KitKat ma nowe ograniczenie, że tylko aplikacje systemowe mogą nadawać ten zamiar. Aplikacje, które spróbują, otrzymają komunikat SecurityException, który domyślnie powoduje wyświetlenie okna dialogowego „... zostało zatrzymane”.

Istnieje alternatywny mechanizm dla aplikacji, która mówi, że zmieniła konkretny plik i powoduje, że plik jest skanowany ponownie (nie rekurencyjnie), ale (a) nie ma zamiany skanującej cały system plików, ponieważ byłoby to nadużywane w ten sam sposób ; i (b) to zależy od aplikacji. To nie jest coś, co możesz zmienić jako użytkownik.

Aplikacja korzystająca z byłaby w stanie sprawić, by działała w taki sam sposób, jak 4.3 i wcześniejsze, ale ponownie, aby poprosić o rootowanie, trzeba by ją napisać. Zrootowanie urządzenia nie sprawi, że stare aplikacje zaczną ponownie działać.

Aby uzyskać więcej informacji technicznych, zobacz Jak uruchomić MediaScan na Nexusie 7? na Stack Overflow, naszej siostrzanej stronie z pytaniami dotyczącymi programowania.


To nie jest odpowiedź na pytanie. Moje media są całkowicie niedostępne w KitKat tylko dlatego, że zmieniłem nazwę folderu. Usunięcie funkcji bez podania alternatywy jest całkowicie zepsute.
Barry Kelly,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.