public void initCache(Context context)
{
    this.context = context;
    //Find the dir to save cached images
    if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
        cacheDir=new File(android.os.Environment.getExternalStorageDirectory(),"myapp");
    else
        cacheDir=context.getCacheDir();
    if(!cacheDir.exists())
        cacheDir.mkdirs();
}我在manifest文件中有正确的权限,我也安装了SD卡。尽管如此,我的应用程序还是写入了内部存储。我正在使用摩托罗拉Atrix。
发布于 2011-09-27 13:05:44
Environment.getExternalStorageState()返回内部SD挂载点的路径,如"/mnt/sdcard“
不,Environment.getExternalStorageDirectory()指的是设备制造商认为是“外部存储”的任何东西。在某些设备上,这是可移动介质,如SD卡。在某些设备上,这是设备上闪存的一部分。在这里,“外部存储”指的是“安装在主机上时可通过USB大容量存储模式访问的内容”,至少在Android 1.x和2.x上是这样。
,但是问题是关于外部SD的。如何获取"/mnt/sdcard/external_sd“这样的路径(不同设备可能会有所不同)?
Android没有“外部SD”的概念,除了外部存储,如上所述。
如果设备制造商选择使用板载闪存和SD卡,您需要与制造商联系,以确定您是否可以使用SD卡(不保证)以及使用规则,例如使用路径。
https://stackoverflow.com/questions/7564222
复制相似问题