我想让用户在我的程序中安全地删除SD卡,但似乎Android 2.2公共API没有提供这样做的方法。有谁知道什么是正确的方法呢?
答案 0 :(得分:10)
您需要将用户带到设备的内置设置。我认为这会奏效。
Intent i = new Intent(android.provider.Settings.ACTION_MEMORY_CARD_SETTINGS);
startActivity(i);
卸载SD卡是其中一种可能被恶意使用的操作,如果它没有完全由用户控制。如果它可以完全用软件完成(无需用户干预),那么代码可能会破坏设备上运行的其他应用程序。
答案 1 :(得分:0)
确实,在Logitech Revue(Google TV配套框)上,Intent呼叫启动了存储控制面板,该面板允许用户访问Unmount命令以便安全删除。如果您只是将USB设备拉出该设备,则会出现不安全/意外移除的情况,如果以这种方式处理,您的卡可能会留下众所周知的混乱。谢谢你的提示,非常有用。
顺便说一句,Revue与内置的/ SD卡单元有不同寻常的安排, 因此,如果您通过USB适配器插入外部SD卡或使用某些USB记忆棒,它将显示在/ mnt /下作为以“usb”开头的名称和一些数字。因此,您在该设备上有三个存储区域,内部,内置“sdcard”和USB端口,驱动器将在插入时安装。
我还没有获得足够的分数,但却不允许包含面板外观的快照。