1

Androidギャラリーに画像を保存したいのですが、現在のコードは次のとおりです。

image.setDrawingCacheEnabled(true);

image.buildDrawingCache(true);
Bitmap b = image.getDrawingCache();

if(!new File("/"+Environment.DIRECTORY_PICTURES).exists())
    Log.e("Error","/"+Environment.DIRECTORY_PICTURES+" Dont exist");

File file = new File(Environment.DIRECTORY_PICTURES+"/myImage.jpg");
file.createNewFile();
FileOutputStream ostream = new FileOutputStream(file);
b.compress(CompressFormat.JPEG, 80, ostream);
image.setDrawingCacheEnabled(false);
ostream.close();
Toast.makeText(Ads.this, "Offer saved", 1).show();

常に同じエラーを返します。

Error: /Pictures Dont exist

次に、IOException:

java.io.IOException: open failed: ENOENT (No such file or directory)

これは4.0Android仮想デバイス上にあります。AVDのルートディレクトリも取得しようとしましたEnvironment.getRootDirectory()が、それでも同じエラーが発生します。

AVDのギャラリーに画像を保存することをテストする正しい方法は何ですか?

4

1 に答える 1

4

すでに持っているので、Bitmapこのコードを使用してギャラリーに挿入できます。

Bitmap b = image.getDrawingCache();
Images.Media.insertImage(getContentResolver(), b, title, description);

title設定をdescription気にしない場合はnullにすることができます。Uri返されたものがnull以外の場合、挿入は成功しました。

于 2012-04-28T09:51:11.460 に答える