Tôi đang viết một ứng dụng Android lưu trữ nhiều tệp phương tiện. Chúng không phải là loại (và quá nhiều) để làm lộn xộn thông báo người dùng hoặc các thư mục phương tiện khác, nhưng chúng cũng phải được người dùng cập nhật, vì vậy tôi không thể đặt chúng vào tài nguyên. Tôi có thể sử dụng getExternalFilesDir để có được một con đường trên sdcard, nhưng tôi chỉ muốn làm điều đó nếu bản thân ứng dụng được cài đặt trên sdcard. Nếu ứng dụng được cài đặt trong nội bộ, tôi muốn đặt phương tiện vào bộ nhớ trong.Android 2.2 - Làm cách nào để phát hiện xem tôi có được cài đặt trên SDCard hay không?
Vậy làm cách nào để xác định xem ứng dụng của tôi có đang chạy trong bộ nhớ trong hay bộ nhớ ngoài không?
1. Kiểm tra '/mnt' và '/ sdcard' có vẻ như hacky - tại sao bạn không sử dụng các thư mục từ lớp' Environment'? 2. Tôi chưa thử nó, không phải là thư mục tập tin luôn luôn lưu trữ nội bộ? Điểm kiểm tra thứ hai là gì? Pre-Froyo không thể cài đặt vào thẻ SD. Hoặc bạn đã thêm rằng để xử lý các trường hợp của ROM như CyanogenMod đã thực hiện app2sd của riêng mình? – EboMike
1. Bạn đúng, sử dụng Environment.EXTERNAL_STORAGE_DIRECTORY là tốt hơn. 2. Tôi nghĩ không nếu ứng dụng được cài đặt trên SD. Và có, kiểm tra thứ hai là cho ROMS sửa đổi. – peceps