0
我試圖將我的圖像保存到我的Samsung galaxy s6邊緣的文件夾中。我是一名初學者,已經創建了一個應用程序來練習拍攝一張意圖圖像,並將圖像返回到我的應用程序,然後我選擇一個圖像過濾器並進一步將其保存到我的設備。我不明白爲什麼它不起作用。我得到的錯誤是:將意圖保存到相冊/文件夾
W/System.err的:java.io.FileNotFoundException:/storage/emulated/0/Pictures/Pictures.jpg:打開失敗:EACCES(拒絕)
這裏是代碼:
public void savePhoto(View view) {
if(currentBitmap != null) {
File storageLoc = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File file = new File(storageLoc, "Pictures.jpg");
try {
FileOutputStream fos = new FileOutputStream(file);
currentBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
Context context = getApplicationContext();
Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
scanIntent.setData(Uri.fromFile(file));
context.sendBroadcast(scanIntent);
Toast.makeText(getApplicationContext(), "Your image has been saved!", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
} else {
Toast.makeText(getApplicationContext(), "No image taken!", Toast.LENGTH_SHORT).show();
}
}
我使用API15,如果它有什麼事情要做。我的其他代碼在沒有保存圖像的情況下效果很好。如果有人能看到這個問題,我將不勝感激。
錯誤聲明ANDROID_BUILD_TARGET_SDK_VERSION = 22指示傳遞給FileOutputStream –
的Android版本似乎在棉花糖之上。意味着您需要在運行時檢查權限。由於日誌顯示權限被拒絕。 – UMESH0492
你的意思是我必須用這個ContextCompat.checkSelfPermission()來檢查權限嗎? –