私はURLを使ってロードされた画像ビューを持っています。 ビューに画像をダウンロードし、携帯電話の内蔵/外付けドライブに保存します。しかし、私はStackoverflow上のすべての可能なメソッドを試しても、外部メモリの読み書きにアクセスするためにモバイル上で与えられた前提でドライブにアクセスできませんでした。何も動作していないようだが、私はなぜそれが分からないのだろうか?Android:画像を保存するためにストレージにアクセスできない
これは私のコードです。どこが間違っているのか教えてください。 SDカードのディレクトリではありません
BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable();
Bitmap bitmap = drawable.getBitmap();
File sdCardDirectory = Environment.getDataDirectory();
File image = new File(sdCardDirectory, "test.png");
boolean success = false;
// Encode the file as a PNG image.
FileOutputStream outStream;
try {
outStream = new FileOutputStream(image);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
/* 100 to keep full quality of the image */
outStream.flush();
outStream.close();
success = true;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (success) {
Toast.makeText(getApplicationContext(), "Image saved with success",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(),
"Error during image saving", Toast.LENGTH_LONG).show();
}
マニフェスト権限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
正確に何が失敗しているのかに関する情報を提供することなく、問題を解決することはできません。 –
@HoboJoe「画像保存中にエラーが発生しました」 –
これはAPI> 23デバイスですか?その場合は、実行時に許可を求める必要があります。 https://developer.android.com/training/permissions/requesting.htmlマニフェストにパーミッションを置くことは、事前に十分なプレースメントです。 –