2011-01-08 59 views
7

Tôi muốn cho phép người dùng tháo thẻ SD an toàn trong chương trình của mình, nhưng có vẻ như API công khai Android 2.2 không cung cấp cách để thực hiện việc này. Có ai biết cách thích hợp để làm điều đó không?Cách tháo thẻ SD một cách an toàn trên Android

Trả lời

9

Bạn cần đưa người dùng đến Cài đặt tích hợp của thiết bị. Tôi nghĩ cái này sẽ có hiệu quả.

Intent i = new Intent(android.provider.Settings.ACTION_MEMORY_CARD_SETTINGS); 
    startActivity(i); 

Tháo thẻ SD là một trong những hành động có thể được sử dụng độc hại nếu nó không được kiểm soát hoàn toàn. Nếu nó có thể được thực hiện hoàn toàn bằng phần mềm (không có sự can thiệp của người dùng) thì mã có thể làm gián đoạn các ứng dụng khác đang chạy trên thiết bị.

+1

"mã có thể làm gián đoạn các ứng dụng khác đang chạy trên thiết bị": đặc biệt hiện tại các ứng dụng có thể được đặt trên thẻ SD. Chưa kể tất cả ảnh/nhạc của người dùng sẽ nằm trên thẻ SD – Kurru

+0

@Kurru: Chính xác! Đây là lý do tại sao có một cảnh báo rằng 'một số ứng dụng có thể dừng và có thể không khả dụng cho đến khi bạn cập nhật thẻ SD' khi tôi làm điều đó với điện thoại của mình. Có rất nhiều cách nó có thể gây ra vấn đề. Như bạn nói, việc có ảnh/nhạc trên thẻ SD cũng sẽ giảm được những ứng dụng Thư viện và Nhạc được tích hợp sẵn có quyền truy cập vào. – Squonk

0

Thực tế trên Revit Logitech (hộp đồng hành Google TV) mà cuộc gọi Intent khởi chạy bảng điều khiển Lưu trữ cho phép người dùng truy cập vào lệnh Unmount để xóa an toàn. Nếu bạn chỉ cần kéo thiết bị USB ra trên thiết bị đó, nó được trải nghiệm như một loại bỏ không an toàn/không mong muốn và thẻ của bạn có thể bị bỏ lại trong sự lộn xộn tục ngữ nếu được xử lý theo cách đó. Cảm ơn gợi ý, rất hữu ích.

Revue bằng cách này có sự sắp xếp bất thường với đơn vị/sdcard được tích hợp, vì vậy nếu bạn cắm thẻ SD bên ngoài qua bộ điều hợp USB hoặc sử dụng một số thanh USB, nó sẽ hiển thị dưới/mnt/như tên bắt đầu bằng "usb" và một số. Vì vậy, bạn có ba khu vực lưu trữ trên đơn vị đó, nội bộ, được xây dựng trong "sdcard" và cổng USB, nơi ổ đĩa sẽ gắn kết khi được chèn.

Tôi chưa kiếm đủ điểm để được phép bao gồm ảnh chụp nhanh về cách bảng điều khiển trông như thế nào.

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