我创建了android应用程序,它与estimote beacons相连。我的项目必须使用estimote库,这个库的最低sdk设置为18,所以我的整个项目的最低sdk必须是18。但我希望我的应用程序在最低sdk 14的情况下工作。有没有可能将我的项目的最小sdk设置为14,当sdk超过18时,关闭使用这个库?
解决方案
我必须使用多个apk来确定哪些设备可以下载具有estimote库的版本,哪些设备必须下载较低的api版本。更多信息:http://developer.android.com/google/play/publishing/multiple-apks.html
发布于 2015-11-12 16:15:53
您可以使用以下检查来执行此操作:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2){
// turn off that library here
}发布于 2015-11-12 16:30:27
如果由于某些原因无法停止该库,请执行此操作。
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle instantanState) {
.
.
.
if(Build.VERSION.SDK_INT >= 18){
// start your library here.
}
}确保在调用的函数前添加@SuppressLint("NewApi"),或者您可以关闭android lint错误检查以获得新的Api功能。
发布于 2015-11-12 16:38:50
当您想要在应用程序中使用您的库时,请使用检查操作系统版本
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){
// use your library here
}但别忘了管理以前的api:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2){
// use your library here
}
else {
//do something else
}https://stackoverflow.com/questions/33666756
复制相似问题