2016-05-27 4 views
1

У меня есть функция, которую мне нужно использовать, но мне нужно установить минимальный SDK до 23, чтобы использовать его. Проблема в том, что наше приложение работает на многих более низких SDK-устройствах в дикой природе. Можно ли каким-либо образом настроить мой проект, чтобы я мог скомпилировать приложение, используя еще минимальную цель для SDK?Минимальный SDK для Android

Minimum SDK Issue

+0

'... минимальная цель SDK' Ну, 'minimumSdkVersion' что-то. 'targetSdkVersion' - это что-то еще. Ты немного смущен, дорогая. –

+0

Да ... да, вы правы ... Я был немного смущен ... Понедельник, правильно? – EZFrag

+0

Нет ... Пятница, в настоящее время. ;) –

ответ

1

У меня есть функция, что мне нужно использовать, но мне нужно, чтобы установить свой минимальный SDK до 23 для того, чтобы использовать его.

Вы должны установить ваш compileSdkVersion до 23.

Есть ли способ, я могу настроить мой проект, чтобы позволить мне скомпилировать приложение, при этом используя более низкий минимальный уровень SDK?

Установите minSdkVersion в любое удобное для вас время. Установите compileSdkVersion на 23 или выше. Затем убедитесь, что вы только вызываете canDrawOverlays() на устройствах уровня API 23+, например, путем проверки Build.VERSION.SDK_INT.

+0

Спасибо ... Я нашел проблему. Оказывается, проблема была между клавиатурой и стулом. – EZFrag

+0

Я увидел красную линию, сделал всю автоматическую вещь, но по некоторым причинам не смог найти правильные решения в указанном автоматическом блоке. – EZFrag

+0

Мне так стыдно сейчас ... – EZFrag

1

Убедитесь, что апи 23 или больше, прежде чем пытаться вызвать эту функцию:

if (android.os.Build.VERSION.SDK_INT >= 23) { 
    Settings.canDrawOverlays(this); 
} else { 
// I don't think you need to do anything, I believe canDrawOverlays is 
//functionally true for older APIs 
} 
0

Вы уже смотрели на Supporting Different Platform Versions странице?

Если вы хотите использовать метод canDrawOverlays(...) на всех платформах, то вы просто не можете: он поддерживается только в API, начиная с версии 23. Однако если вы хотите использовать этот api ТОЛЬКО, когда версия платформы> = 23 (что означает: только на тех устройствах с КРАЙНЕЙ МЕРЕ Зефир установлен), то вы можете:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.MARSHMALLOW) { 
    Settings.canDrawOverlays(...) 
} 
Смежные вопросы