2012-01-21 49 views

Trả lời

4

Không có quyền đặc biệt nào được yêu cầu để đọc dữ liệu trên thẻ SD. Bởi đức hạnh, bất cứ điều gì bạn lưu trữ trên thẻ SD có thể nhìn thấy cho bất kỳ ứng dụng để đọc.

Để biết thêm thông tin, tài liệu Android về vấn đề này là ở đây: http://developer.android.com/guide/topics/data/data-storage.html

+1

Theo liên kết bạn đã đăng "Để đọc hoặc ghi tệp trên bộ nhớ ngoài, ứng dụng của bạn phải có được quyền READ_EXTERNAL_STORAGE hoặc WRITE_EXTERNAL_STORAGE hệ thống". –

17

Nếu bạn đang sử dụng Android phiên bản 4.1 (Jelly Bean), bạn phải chèn phép sau vào file manifest của ứng dụng của bạn:

READ_EXTERNAL_STORAGE 

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

+2

Hiện tại, nó không được thực thi, vì vậy bạn không thực sự cần đến nó. Nhưng dù sao thì cũng tốt. Bạn có thể bật thực thi trong cài đặt nhà phát triển, như được mô tả trong tài liệu. – Timmmm

+0

nếu anh ta bao gồm Quyền ghi, không cần phải bao gồm quyền Đọc – Lion789

0

chính ở đây là những gì bạn muốn đọc. Như đã đề cập ở trên, bạn cần sự cho phép nếu bạn đang đọc nội dung KHÔNG được tạo bởi ứng dụng của bạn. Một số thiết bị cho phép bạn thoát khỏi điều này, miễn là các tùy chọn dành cho nhà phát triển cho phép nó trên thiết bị. Nhưng tốt hơn để đưa nó vào tệp kê khai.

Nếu bạn chỉ đọc những gì bạn đã viết bằng cùng một ứng dụng, không cần sự cho phép rõ ràng.

31

Đừng quên để thêm

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

đến file manifest của bạn

+0

Câu trả lời của bạn cần giải thích thêm. Nó không phải là rất rõ ràng – eliasah

+2

@Taylan: Chúng tôi hy vọng câu trả lời ở đây để giải thích bản thân, không chỉ đổ mã. Bạn nên giải thích nguyên nhân gây ra vấn đề được mô tả và lý do tại sao; sau đó giải thích bản sửa lỗi của bạn và tại sao nó hoạt động. –

+14

Hey come'on, câu trả lời của anh ấy khá tự giải thích. Nó nói rằng bạn cần phải yêu cầu nhiều quyền hơn trong tệp kê khai và nó giải thích cách thực hiện điều đó. Bạn không hiểu gì về điều này? –

-1

Trên một cd hệ thống linux vào thẻ sd bạn có thể có một tên đường dẫn dài để sao chép và dán. Hãy thử "sudo nano" hoặc sudo vi tùy thuộc vào trình soạn thảo bạn thích. Điều này cho phép tôi đọc các tệp mà tôi không thể mở trên thẻ SD bằng trình soạn thảo văn bản gui dựa trên tiêu chuẩn của mình.

Ví dụ trong GUI tôi đã cố gắng mở passwd- file trong/etc trên thẻ SD của mình. Biểu tượng có một chút x trên đó. Leafpad trình soạn thảo linux của tôi Không thể mở tệp '/ media/UserDrake/28d3774e-c2bd-486f-bde0-3cbb17d2317c/etc/passwd-' quyền bị từ chối. Tuy nhiên nếu tôi sử dụng thiết bị đầu cuối cd/sau đó cd vào đường dẫn được đề cập chỉ bằng cách sử dụng cắt và dán bởi vì nó thực sự là dài để gõ. Tôi có thể thấy nó với sudo nano "đường dẫn trên"

Các vấn đề liên quan