如果我需要定位Android API 18并且在以后的API版本中不推荐使用某个方法,那么如何继续?

时间:2016-11-22 09:19:46

标签: android deprecated

我想使用Android API 18中引入的method,但在API 21中已弃用。但是,我的应用必须与安装了API 18的设备兼容。

简单地继续使用这种弃用的方法是否正确?或者我应该检查版本并有两个版本的代码,一个用于API 18,另一个用于API 21及更高版本?

4 个答案:

答案 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版本。