Tại sao lại có nhiều đường dẫn đến cùng bộ nhớ trong trên thiết bị Android?

Các bác ơi cho em hỏi là ở nhiều máy không có khe cắm thẻ nhớ ngoài như Nexus 4 mà chỉ có 1 bộ nhớ trong thì bộ nhớ trong đó hiển thị ở trình duyệt file dưới đường dẫn /sdcard/. Nhưng mà em cũng tìm được 1 số đường dẫn khác cùng chỉ đến bộ nhớ này, ví dụ như:

/sdcard/
/storage/sdcard0/
/storage/emulated/0/
/storage/emulated/legacy/

Vậy đường dẫn nào là đường dẫn thực sự đến bộ nhớ trong, và đường dẫn nào là shortcut / chuyển tiếp? Tại sao lại cần các đường dẫn chuyển tiếp này?

Đã hỏi vào Tháng Mười 9, 2015 Tổng hợp.
Bình luận
Chấp nhận

Cái này liên quan đến chức năng hỗ trợ nhiều người dùng bắt đầu từ phiên bản Android Jelly Bean bạn ạ:

  1. /storage/emulated/0/: có nghĩa là đường dẫn đến “emulated MMC”, tức là 1 dạng của bộ nhớ trong. Số 0 là đánh dấu người dùng , người dùng 0 tức là người dùng đầu tiên, tương đương với người chủ máy. Nếu bạn tạo thêm người dùng cho máy thì số hiệu cho người dùng kế tiếp sẽ được tăng dần đều 1, 2, 3 …
  2. /storage/emulated/legacy/: cũng tương tự như trên, nhưng mà legacy là thư mục của người dùng hiện tại đang đăng nhập vào máy. Trong trường hợp người dùng số 0 (người dùng đầu tiên hay người chủ máy) thì đường dẫn này cũng chỉ đến cùng đường dẫn ở trường hợp thứ 1.
  3. /sdcard/: là đường dẫn chỉ đến cùng đường dẫn /storage/sdcard0/ (với các máy dùng Android 4.0 trở đi)
  4. /storage/sdcard0/: số 0 ở đây lại là số thứ tự của bộ nhớ. Vì bộ nhớ trong luôn luôn hiện diện và là bộ nhớ đầu tiên của máy nên nó có số hiệu là 0. Nếu bạn cắm thêm thẻ nhớ thì thẻ nhớ ngoài đó sẽ có đường dẫn là /storage/sdcard1/ (tui đoán là như vậy :-p)
Đã trả lời vào Tháng Mười 9, 2015
Bình luận

Ông doge 55 trả lời đúng rồi đó, ngoài ra thì trên một số thiết bị và các thiết bị dùng Android trước phiên bản 4.0 thì đường dẫn đến bộ nhớ trong là: /mnt/sdcard0/

Đã trả lời vào Tháng Mười 9, 2015
Bình luận

Đáp án của bạn

Với việc gửi đáp án, bạn đã đồng ý với Chính sách dữ liệuCác điều khoản của chúng tôi.