我在我的可繪製文件夾下有一個png文件,我想將它保存到我的物理設備中的某個文件夾中。保存可下繪圖到存儲器中的圖像
我已經有寫權限和一切,但我不能總是做我想要的。有趣的是,如果我嘗試10次來保存圖像,它會以某種方式管理兩次,而不是更多。
我使用的LG 3,是Android 5.0,API 21.當我昨天試了一下沒有保存圖像。然而今天,當我一直在尋找通過我看到的圖像畫廊..
我也設法保存圖像與API 22模擬器,但從來沒有與API 24
這是代碼:
ActivityCompat.requestPermissions(ShareActivity.this,new String[] {android.Manifest.permission.WRITE_EXTERNAL_STORAGE},1);
Bitmap image = BitmapFactory.decodeResource(getResources(),R.drawable.instagram_logo);
File path = Environment.getExternalStorageDirectory();
File dir = new File(path + "/savehere/");
if(!dir.exists())
{
dir.mkdirs();
}
else
{
Toast.makeText(mContext, "Directory already exists", Toast.LENGTH_SHORT).show();
}
File file = new File(dir,"photo.png");
OutputStream out = null;
try
{
out = new FileOutputStream(file);
image.compress(Bitmap.CompressFormat.PNG,80,out);
out.flush();
out.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
'dir.mkdirs()借用;'檢查返回值,因爲它可能無法創建一個目錄。如果是,則向用戶顯示敬酒並返回。如果要將文件放置在不存在的目錄中,繼續執行並不合理。 – greenapps
把Toast()放在這些catch塊中,這樣你的app的用戶就會被告知這些異常。 ...你也是...... – greenapps
'我正在通過畫廊看我看到的圖像。錯了。您不應使用圖庫應用程序來檢查您的文件是否已創建。完全錯誤。您應該使用文件資源管理器應用程序並查看該目錄。 – greenapps