Этот бит кода
int notifyFilter = -1;
if ( (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
&& (m_notifManager != null)
&& m_notifManager.isNotificationPolicyAccessGranted())
{
notifyFilter = m_notifManager.getCurrentInterruptionFilter();
}
получает ошибку WrongConstant при втором назначении для notifyFilter. Я знаю, что могу подавить это с помощью
@SuppressLint("WrongConstant")
(хотя это раздражающе должно применяться ко всему методу, а не только к утверждению, на которое он жалуется), но почему я получаю ошибку здесь?
notifyFilter назначается, а не используется в качестве параметра в вызове метода, что, как утверждает WrongConstant, обнаруживает (Android Проверки Lint ). До назначения было -1, но это не так, если недопустимое значение -1 никогда не передается в setInterruptionFIlter (). Позже я проверяю недопустимое значение -1, чтобы избежать вызова setInterruptionFIlter (), если мое приложение работает на версии Android, которая не поддерживает его, или если у него нет разрешения на это.
При просмотре Android Studio 3.6.3, которая является последней выпущенной версией на момент публикации.