Android 4.4 KitKat'ta SD belleği nasıl yenileyebilir / yeniden tarayabilirim


13

Geçen hafta Nexus 4'üm için resmi OTA KitKat güncellemesini aldım ve o zamandan beri SD kartı yeniden tarayamadım. Bu görev için bir dizi farklı uygulamayı denedim, ancak hepsi açıldığında çöküyor. Biraz araştırma, aynı sorunu olan birkaç kullanıcıyı gösteriyor.

Bunlar denediğim uygulamalar:

  • Medyayı Yeniden Tara ( Aditya Talpade )
  • SD Kartı Yeniden Tara! ( sTOOPIDfiG )
  • SD Ortam Kartını Yeniden Tarama ( RADEFFFACTORY )
  • SDrescan ( Benjamin Rosseaux ) Jelly Bean'deki eski standby

Her uygulama başlatıldığında kilitleniyor. KitKat'ta SD belleklerini yenileyebilen var mı?

Yanıtlar:


13

Silinen dosyaları tespit etmek işe yaramaz, ancak Play Store'a yeni ve güncellenmiş dosyalar üzerinde çalışacak bir uygulama yükledim: https://play.google.com/store/apps/details?id=com. gmail.jerickson314.sdscanner

Dan Hulme'nin cevabından esinlenen bir geçici çözüm kullanır: yalnızca belirli bir dosya için olan API'yi kullanarak, ancak karttaki dosyaların özyinelemeli bir listesini manuel olarak oluşturarak. Bu, yalnızca SD kartta kök için değil, okuma iznini gerektirir ve güvenilir bir ilerleme göstergesine izin vermenin hoş bir yan etkisi vardır.


Bu kabul edilen cevap olmalı; Dan'ın cevabı sorunu çözmez. Sorunun diğer yarısı - silinen dosyalardan kurtulma - Media Service'in önbelleğini ve verilerini manuel olarak temizleyerek çözülür. Yeniden tarama yapmak zorunda kaldığınız duruma girmek kolaydır - örneğin bir klasörü yeniden adlandırdığınızda.
Barry Kelly

Bu yanıtı yazdıktan sonra, medya veritabanını okumak için işlevsellik uyguladım. Anlayabildiğim kadarıyla silinen dosyaları tespit etmek için çalışıyor. Bazen silinen dosyalar medya veritabanında hiç görünmüyor, bu da SD Tarayıcı onlara ulaşmadan önce Google Play Müzik veya başka bir şey tarafından temizlendiklerinden şüpheleniyorum.
Jeremy Erickson

Can sıkıcı bir şekilde, varsayılan zil seslerini, alarmları, bildirim seslerini vs. Ayarlar tarafından tekrar bulunabilmek için / sdcard altındaki konumlara kopyalamak zorunda kaldım.
Barry Kelly

Ne yazık ki, uygulama artık mağazada gibi görünmüyor
Edward Falk

6

Artık böyle bir uygulamayı kullanamazsınız. Birçok uygulama, MEDIA_MOUNTEDyalnızca bir dosyayı değiştirdikten sonra tüm dosya sisteminin yeniden taranmasına (pilin boşaltılmasına) neden olmak için yayın amacını kötüye kullandığından , KitKat'ın yalnızca sistem uygulamalarının bu amacı yayınlayabileceği yeni bir kısıtlaması vardır. Deneyen uygulamalar SecurityExceptionvarsayılan olarak "... durdu" iletişim kutusuna neden olan bir a alır .

Bir uygulamanın belirli bir dosyayı değiştirdiğini ve o dosyanın yeniden taranmasına neden olduğunu (yinelemeli olarak değil) söylemesi için alternatif bir mekanizma vardır, ancak (a) tüm dosya sistemini tarayan bir değişiklik yoktur, çünkü bu aynı şekilde kötüye kullanılır ; ve (b) bunu çağırmak uygulamaya bağlıdır. Kullanıcı olarak değiştirebileceğiniz bir şey değil.

kullanılan bir uygulama, bu çalışmayı 4.3 ve önceki sürümlerle aynı şekilde yapabilir, ancak yine de root istemek için özel olarak yazılması gerekir. Cihazı köklendirmek, eski uygulamalarınızın tekrar çalışmaya başlamasını sağlamaz.

Daha fazla teknik ayrıntı için bkz . Nexus 7'de MediaScan nasıl tetiklenir? Soruları programlamak için kardeş sitemiz Stack Overflow'da.


Bu sorunun cevabı değil. Bir klasörü yeniden adlandırdığım için KitKat'ta medyama tamamen erişilemiyor. Alternatif sağlamadan işlevselliği kaldırmak tamamen bozulur.
Barry Kelly

3

Bu çok iyi bir soru ve zaten cevaplandığını görüyorum. Kit Kit (Android 4.4+) için bu sorunu çözmek için küçük bir uygulama yazdım. Uygulamam tüm telefonlarda çalışıyor.

Buraya:

https://play.google.com/store/apps/details?id=burrows.apps.sdcard

Bu Nexus 5 üzerinde çalışıyor!

Bunun size yardımcı olup olmadığını lütfen bize bildirin!

Yasal Uyarı: Bu uygulamayı yazdım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.