天天看点

android定义新的api解决一些低版本不能运行的问题

【错误描述】

    在用eclipse开发过程中,为了兼容android2.2和4.0以上版本,我在使用notification类时做了2个版本的代码,代码根据系统版本不同执行相应模块,结果,等我输完代码,发现系统提示了一个这么的错误。

【原因分析】

    不详,可能和run android lint有点关系吧。就是创建项目时,我们设置了最低版本api level,比如我的是8,因此,eclipse检查我调用的api后,发现版本号不能向低版本兼容,比如我用的“notification.builder”是level 11 以上才有的,自然超过了8,所以提示错误。

【解决方案】

   右键点击项目->android tools ->clear link markers.即可临时解决,但是如果调试用的模拟器是低版本的,则在调试完后还有这个错误。

  如果把manifest文件中的user-sdk的android:minsdkversion改为报错的那个高版本就没事。比如下面:

<uses-sdk

        android:minsdkversion="11"   //这个之前是8

        android:targetsdkversion="17" />

【扩展】

  这种错误不仅发生在level11,也同时发生于其他因为设置了最低版本,但使用了高版本api的代码中,解决方案应该相同。

继续阅读