【错误描述】
在用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的代码中,解决方案应该相同
相关推荐
当出现提示说: Call requires API level 9 (current min is 8): android.os.StrictMode#setThrea 也就是说版本低
Circle based animations for Android (min. API 11) Currently implemented: Circular reveal Circular transform Radial reaction Reveal:YouTube Transform:YouTube Radial reaction:YouTube ...
在IT行业中,Base64是一种常见的数据编码方法,主要用于将二进制数据转换为ASCII字符串,以便在网络上传输或者存储。Base64Encoder和Base64Decoder是处理这种编码和解码过程的工具。本文将深入探讨这两个概念,以及...
前言 ...但是报错了Call requires API level 24 (current min is 21): android.telephony.TelephonyManager#getDataNetworkType Android 版本更替,新的版本带来新的特性,新的方法。 新的方法带来
A stack is an area of memory in which program procedure or function call addresses and parameters are temporarily stored. In Process To run in the same address space. In-process servers are loaded ...
Requires at least: 3.0 Tested up to: 3.3 Stable tag: 2.2 Add some tools for taxonomies : Terms suggestion, Mass Edit Terms, Auto link Terms, Ajax Autocompletion, Click Terms, Auto terms, Advanced ...
Current working directory (except CLI) ; 5. The web server's directory (for SAPI modules), or directory of PHP ; (otherwise in Windows) ; 6. The directory from the --with-config-file-path compile ...