我想使用Android API 18中引入的method,但在API 21中已弃用。但是,我的应用必须与安装了API 18的设备兼容。
简单地继续使用这种弃用的方法是否正确?或者我应该检查版本并有两个版本的代码,一个用于API 18,另一个用于API 21及更高版本?
答案 0 :(得分:2)
您可以使用API 18中支持的方法,虽然它已弃用,但它不会给您带来任何问题。如果您仍想对其进行一些验证,那么
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2&&android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.LOLLIPOP) {
// write your code here which should work for version between 18 and 21.
}
else if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP)
{
// write the alternate code for API 21+
}
答案 1 :(得分:0)
使用类似:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {}
答案 2 :(得分:0)
如果您的开发速度低于Lolypop而不是使用它,如果您希望新的机器人使用替换
https://developer.android.com/reference/android/bluetooth/le/BluetoothLeScanner.html
答案 3 :(得分:0)
来自Deprecated Annotation documentation
注释@Deprecated的程序元素是程序员不鼓励使用的程序元素,通常是因为它很危险,或者因为存在更好的替代方案。
没有人说会被删除但是...... imho最好重写代码(如果可能的话)并使用新的向后兼容性方法。
如果您无法手动检查SDK API版本。