2012-01-21 15 views

Odpowiedz

4

Nie są wymagane żadne specjalne uprawnienia do odczytu danych na karcie SD. Cokolwiek przechowujesz na karcie SD, jest widoczne dla każdej aplikacji do czytania.

Aby uzyskać więcej informacji, Android dokumentacja w tej sprawie jest tutaj: http://developer.android.com/guide/topics/data/data-storage.html

+1

Zgodnie z zamieszczonym przez Ciebie linkiem "Aby odczytać lub zapisać pliki w zewnętrznej pamięci masowej, Twoja aplikacja musi uzyskać uprawnienia systemowe READ_EXTERNAL_STORAGE lub WRITE_EXTERNAL_STORAGE." –

17

Jeśli używasz systemu Android w wersji 4.1 (Jelly Bean), trzeba wstawić następujące uprawnienia do pliku manifestu aplikacji:

READ_EXTERNAL_STORAGE 

http://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE

+2

Obecnie nie jest wymagane, więc nie potrzebujesz go. Ale i tak warto to zrobić. Możesz włączyć egzekwowanie w ustawieniach programisty, zgodnie z opisem w dokumentacji. – Timmmm

+0

jeśli zawiera zezwolenie na pisanie, nie ma potrzeby dołączania uprawnienia do odczytu. – Lion789

0

Kluczowe tutaj jest to, co chcesz przeczytać. Jak wspomniano powyżej, potrzebujesz pozwolenia, jeśli czytasz treści NIE utworzone przez twoją aplikację. Niektóre urządzenia pozwalają Ci to uciec, o ile opcje programisty zezwalają na to na urządzeniu. Lepiej jednak włączyć go do manifestu.

Jeśli czytasz tylko to, co napisałeś przy użyciu tej samej aplikacji, nie jest wymagane żadne wyraźne pozwolenie.

31

Nie zapomnij dodać

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

do pliku manifestu

+0

Twoja odpowiedź wymaga więcej wyjaśnień. Nie jest to zbyt jasne. – eliasah

+2

@Taylan: Oczekujemy, że odpowiedzi tutaj wyjaśnią, a nie tylko kod zrzutu. Powinieneś wyjaśnić, co jest przyczyną opisywanego problemu i dlaczego; następnie wyjaśnij swoją poprawkę i dlaczego działa. –

+14

Hej, przyjdź, jego odpowiedź jest dość oczywista. Stwierdza, że ​​musisz poprosić o więcej uprawnień w manifeście i wyjaśnia, jak to zrobić. Czego nie rozumiesz? –

-1

na płycie CD systemu Linux na karcie SD może masz długą nazwę ścieżki, aby skopiować i wkleić. Spróbuj "sudo nano" lub sudo vi w zależności od edytora, który ci się podoba. Umożliwiło mi to odczytanie plików, których nie mogłem otworzyć na karcie SD za pomocą standardowego edytora tekstowego opartego na GUI.

Na przykład w GUI próbowałem otworzyć plik passwd w/etc na mojej karcie SD. Ikona ma trochę x na niej. Leafpad mój edytor linux Nie udało się otworzyć pliku "/ media/UserDrake/28d3774e-c2bd-486f-bde0-3cbb17d2317c/etc/passwd-" odmowa dostępu. Jednak jeśli używam terminala cd/then cd do właśnie wspomnianej ścieżki, użyj wycinania i wklejania, ponieważ naprawdę długo trzeba pisać. Mogę to zobaczyć z sudo nano "powyżej ścieżki"

Powiązane problemy