Уровень API Android <19 и «попытка использования автоматического управления ресурсами»

У меня есть эта часть кода

private void copyFile(File src, File dst) throws IOException { FileChannel inChannel = new FileInputStream(src).getChannel(); FileChannel outChannel = new FileOutputStream(dst).getChannel(); try { inChannel.transferTo(0, inChannel.size(), outChannel); }finally { if(inChannel != null) { inChannel.close(); } outChannel.close(); } } 

Который генерирует раздражающее предупреждение «попробуйте использовать автоматическое управление ресурсами». Пролет: я не могу использовать Java 7 try-with-resources, потому что мое приложение нацелено на api level 14 (получилось сообщение об ошибке, если я его использую). Есть ли способ подавить это раздражающее предупреждение?

Solutions Collecting From Web of "Уровень API Android <19 и «попытка использования автоматического управления ресурсами»"

@SuppressWarnings ("TryFinallyCanBeTryWithResources") сделал трюк 🙂

@SuppressLint("NewApi") также будет работать =)

И например:

  @SuppressLint("NewApi") public static File saveImage(Bitmap bitmap) { File file = null; if (isExternalStorageWritable()) { file = new File(getFolderStorageDirectory(), getFileNameImage()); try (FileOutputStream out = new FileOutputStream(file)) { bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out); } catch (Exception e) { e.getMessage(); } } return file; } 

Надеюсь, поможет!