Poate fi .nomedia un folder? (Android, Scaner Media)

neverMind9 a intrebat.

Dacă un fișier numit .nomedia este pus într-un director, Media Scanner sare peste acel director, de exemplu, imagini sprite.

Funcționează și în cazul în care .nomedia este un folder?

1 răspunsuri
iBug

Da, dacă un folder conține un alt folder care se numește .nomedia, , folderul părinte va fi ignorat.

Codul relevant este aici (notă pentru cei confuzi: File nu trebuie să fie neapărat un fișier obișnuit – în Linux, directoarele sunt doar fișiere speciale).

Una dintre aplicațiile mele IME preferate creează, de asemenea, dosare cu acest nume (în loc de fișiere) în dosarele sale de active – activele sunt ignorate de MediaScanner.

Trivia: Dacă ați reușit să puneți alte fișiere speciale, cum ar fi legături simbolice sau țevi numite (FIFO) cu numele .nomedia, , va funcționa și acesta. (Spoiler: într-adevăr, puteți, dar aveți nevoie de root).

O modalitate alternativă, așa cum a sugerat beeshyams, este să redenumiți folderul părinte și să îl faceți să înceapă cu un punct. Acest lucru are același efect ca și cum ai avea un .nomedia în interiorul acestuia, deoarece ambele moduri fac ca dosarul codul să returneze true (ar trebui să fie ignorat).

Comentarii

  • +1. Nu știam asta! –  > Por beeshyams.
  • Nu cred că „nota către cei confuzi” este deosebit de puțin confuză. java.io.File nu este specific Android sau Linux, și poate reprezenta pur și simplu orice nume de cale, inclusiv un nume de director, pe orice sistem, de exemplu, pe Windows. –  > Por Michał Politowski.
  • @MichałPolitowski Eu însumi nu am nici măcar experiență în Java! Dar, oricum, un neprogramator ar crede, eventual, că un File este un fișier, nu? –  > Por iBug.