0

在我的 Android 应用程序中,我使用以下代码将位图文件保存到外部存储的目录中:

String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state))
{
    final String mPath =  Environment.getExternalStorageDirectory().getAbsolutePath() + getResources().getString(R.string.record_folder);

    File dir = new File(mPath);
    if(!dir.exists()) {
        dir.mkdirs();
    }

OutputStream fout = null;
File imageFile = new File(mPath + getResources().getString(R.string.file_name));

Bitmap im = Bitmap.createBitmap(b, 0, 0, canvas.getWidth(), (int) ((float)canvas.getHeight())*600/800);

try {
    fout = new FileOutputStream(imageFile);
    im.compress(Bitmap.CompressFormat.JPEG, 97, fout);
    fout.flush();
    fout.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
}
else
{

    // ?

}

如果安装我的应用程序的设备没有外部存储,我该怎么办?

谢谢。

4

2 回答 2

1

然后你可以使用:

Context.getFilesDir()

获取内部存储器中文件的路径。如果您的设备需要外部存储器,那么您可以告知您的用户并询问将图像存储在内部存储器中是否可以。

于 2014-02-14T09:11:42.033 回答
1

检查 android 操作系统提供的存储选项。如果没有安装外部存储,我会将文件保存在内部存储中。

http://developer.android.com/guide/topics/data/data-storage.html

于 2014-02-14T09:14:10.263 回答