0

Android Studio (2.2.3) предупреждает меня о методе, который я назвал, который записан с помощью @RequiresPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE).Android @RequirePermission выделяет метод в красном на onRequestPermissionsРедактируется

Я бы ОК с таким предупреждением, но в моем случае, это нонсенс: я вызываю метод в onRequestPermissionsResult, где я могу проверить, что WRITE_EXTERNAL_STORAGE разрешение было действительно предоставлено:

if (permissions[0].equals(Manifest.permission.WRITE_EXTERNAL_STORAGE) && grantResults[0] == PackageManager.PERMISSION_GRANTED) 
      CSVUtils.setup(); // -> is highlighted in red!! 

Так после предупреждения, я использую checkSelfPermission(), но затем Android Studio сообщает мне, что это SDK 23, пока я настроен на SDK 21 как минимум, пока я нахожусь в методе, который можно было бы вызывать только в SDK 23 или новее. Это действительно побеждает цель, потому что у меня есть весь код, чтобы проверить разрешение, если пользователь работает с SDK 23 или новее, поэтому зачем мне нужно больше проверять?

В любом случае, это не проблема, просто мне не нравится, когда меня предупреждают таким образом, когда мне не нужно комментировать мои методы с помощью @RequirePermission ... что я могу сделать?

ответ

4

Добавить эту аннотацию выше метода, чтобы избежать предупреждений @SuppressWarnings({"MissingPermission"})

+0

Спасибо! Я действительно думал об этом, но я не знал, что передать в '@ SuppressWarnings', но я вернулся сюда, зная, что кто-то дал бы это решение, и у вас есть! :) – Mackovich