获得sdk版本
Android 提供了Build类来获得系统版本
Build.VERSION(.SDK_INT)系统版本的信息
Build.VERSION_CODES(.HONEYCOMB)一些版本号常量
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) 判断
兼容原则
一般选择APP的最低支持版本原则是尽量向下保持兼容,但也不是说越向下越好,主要的考虑因素有以下几点:
各个低版本手机的市场占有率,比如2013年android 2.2的手机还占用一定的市场份额,但到现在为止基本上该份额可以忽略不计了(目前android 最高的版本已达到android 5.1了)
APP的针对用户群体,比如是高端的用户群体,屌丝用户群体,还是中低端用户群体,根据不同的用户群体可以综合出来决定对最低版本的支持。
解决方法
1. 用android提供的注解 @TargetApi(11)+ 版本号控制做兼容
2. 用反射的方式调用高版本中的新功能接口进行调用。
3. 分离代码,分别在不同的SDK上编译运行,最后ClassLoader动态加载高版本中的相关类接口。
参考http://www.cnblogs.com/yaowen/p/5013366.html
notification版本兼容参考http://blog.youkuaiyun.com/loongggdroid/article/details/17616509/