如何在Android上以编程方式安全地移除SD卡

如何在Android上以编程方式安全地移除SD卡,android,api,Android,Api,我想让用户在我的程序中安全地移除SD卡,但安卓2.2公共API似乎没有提供这样做的方法。有人知道什么是正确的方法吗?您需要让用户进入设备的内置设置。我想这会管用的 Intent i = new Intent(android.provider.Settings.ACTION_MEMORY_CARD_SETTINGS); startActivity(i); 如果SD卡不在完全用户控制之下,卸载SD卡是可能被恶意使用的行为之一。如果完全可以在软件中完成(无需用户干预),则代码可能会中

我想让用户在我的程序中安全地移除SD卡,但安卓2.2公共API似乎没有提供这样做的方法。有人知道什么是正确的方法吗?

您需要让用户进入设备的内置设置。我想这会管用的

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

如果SD卡不在完全用户控制之下,卸载SD卡是可能被恶意使用的行为之一。如果完全可以在软件中完成(无需用户干预),则代码可能会中断设备上运行的其他应用程序。

事实上,在Logitech Revue(谷歌电视伴奏框)上,Intent调用会启动存储控制面板,使用户可以访问卸载命令以安全删除。如果您只是将该设备上的USB设备拔出,则会被视为不安全/意外的卸下,如果以这种方式处理,您的卡可能会处于众所周知的混乱状态。谢谢你的提示,非常有用

顺便说一句,Revue有一个不寻常的配置,内置了/SD卡单元, 因此,如果您通过USB适配器插入外部SD卡或使用USB记忆棒,它将在/mnt/下显示为以“USB”和一些数字开头的名称。因此,该单元上有三个存储区域:内部、内置的“SD卡”和USB端口,插入驱动器时将在这些端口上安装驱动器


我还没有获得足够的分数,因此无法添加面板外观的快照。

“代码可能会中断设备上运行的其他应用”:尤其是现在应用程序可以位于SD卡上。更不用说所有用户的照片/音乐都会放在SD上card@Kurru:没错!这就是为什么当我用手机安装SD卡时,会出现“某些应用程序可能会停止,并且可能在您重新安装SD卡之前不可用”的警告。它有很多可能引起问题的方式。正如你所说,SD卡上的照片/音乐也会减少内置多媒体资料和音乐应用程序的访问量。