2015-08-18 3 views
0

Мне было интересно, есть ли способ разработать приложение BLE для API 18+ до новейшего API. Я знаю, что некоторые команды (startLeScan, stopLeScan) были устаревшими в API 21, заставляя минимальный API запрашивать, чтобы установить значение 21. Если для некоторых команд включена команда 'build.version', то для работы с некоторыми API команда по-прежнему перенаправляется и предлагается изменить на новые команды, которые затем запрашивают изменение минимального уровня API. Кто-нибудь нашел способ написать приложение, которое функционирует для всех API, поддерживающих BLE, используя eclipse или Android Studio?Версии API для android BLE

Спасибо!

+0

Я использую BLE для обнаружения маяков с использованием API 22, и у меня нет этой проблемы. Он отлично работает с моей Galaxy S3 под Kitkat – MatthieuLemoine

ответ

0

Я не уверен, что понимаю вашу проблему. Что-то вроде этого должно работать:

//for Lollipop or newer 
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
    mBluetoothAdapter.getBluetoothLeScanner().startScan(mNewLeScanCallback) 
}//for 4.3 and 4.4 
else{ 
    mBluetoothAdapter.startLeScan(mOldLEScanCallback); 
} 

Конечно, вам также придется реализовать два разных обратных вызова. Добавить

@SuppressLint("NewApi") 

Перед использованием методов, которые используют новые API, чтобы вы не получили предупреждения.

Смежные вопросы