Piszę aplikację na Androida, która przechowuje wiele plików multimedialnych. Nie są typem (i są o wiele za dużo), aby zaśmiecać powiadomienia użytkowników lub inne katalogi multimedialne, ale muszą też być aktualizowane przez użytkownika, więc nie mogę ich umieścić w zasobach. Mogę użyć getExternalFilesDir, aby uzyskać ścieżkę na sdcard, ale chcę to zrobić tylko, jeśli sama aplikacja jest zainstalowana na sdcard. Jeśli aplikacja jest zainstalowana wewnętrznie, chcę umieścić media w pamięci wewnętrznej.Android 2.2 - Jak wykryć, czy jestem zainstalowany na karcie SD, czy nie?
Jak mogę sprawdzić, czy moja aplikacja działa w pamięci wewnętrznej czy zewnętrznej?
1. Sprawdzenie '/mnt' i '/ sdcard' wydaje się być hacky - dlaczego nie używasz katalogów z klasy' Środowisko'? 2. Nie próbowałem tego sam, czy katalog plików nie zawsze znajduje się w pamięci wewnętrznej? Jaki jest sens drugiego czeku? Pre-Froyo i tak nie można zainstalować na karcie SD. Czy dodałeś to do obsługi przypadku ROM-ów, takich jak CyanogenMod, które miały własną implementację app2sd? – EboMike
1. Masz rację, używając Environment.EXTERNAL_STORAGE_DIRECTORY jest lepiej. 2. Myślę, że nie, jeśli aplikacja jest zainstalowana na SD. I tak, druga kontrola dotyczy zmodyfikowanych ROM-ów. – peceps