我想知道是否有办法为API的18+开发BLE应用程序直到最新的API。我知道在API 21中不推荐使用某些命令(startLeScan,stopLeScan),导致最小API被提示设置为21.如果' build.version'为某些命令合并命令以仅对某些API起作用,旧命令仍然被打破并提示改变为新命令,然后提示改变最小API级别。有没有人找到一种方法来编写一个适用于所有使用eclipse或Android Studio支持BLE的API的应用程序?
谢谢!
答案 0 :(得分: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的方法之前,您不会收到警告。