Android版本兼容问题

得到sdk版本
Android 提供了Build类来得到系统版本html

Build.VERSION.SDK_INT)系统版本的信息
Build.VERSION_CODES(.HONEYCOMB)一些版本号常量
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) 判断

兼容原则
通常选择APP的最低支持版本原则是尽可能向下保持兼容,但也不是说越向下越好,主要的考虑因素有如下几点:android

  1. 各个低版本手机的市场占有率,好比2013年android 2.2的手机还占用必定的市场份额,但到如今为止基本上该份额能够忽略不计了(目前android 最高的版本已达到android 5.1了)web

  2. APP的针对用户群体,好比是高端的用户群体,屌丝用户群体,仍是中低端用户群体,根据不一样的用户群体能够综合出来决定对最低版本的支持。svg

解决方法
1. 用android提供的注解 @TargetApi(11)+ 版本号控制作兼容
2. 用反射的方式调用高版本中的新功能接口进行调用。
3. 分离代码,分别在不一样的SDK上编译运行,最后ClassLoader动态加载高版本中的相关类接口。
参考http://www.cnblogs.com/yaowen/p/5013366.htmlui

notification版本兼容参考http://blog.csdn.net/loongggdroid/article/details/17616509/spa