我写了一个应用程序的大部分,最小API级别设置为7.我想从8级调用单个API.具有较低版本的android的用户将在没有这个"额外功能"的情况下生存.
目前我添加了@SuppressLint("NewApi")以便我的代码可以运行; 我在API 14上测试它.一切正常.
我想知道该应用程序在API 7设备上的行为.这一行会被忽略吗?我的应用会崩溃吗?该应用是否会被Google Play过滤,因此无法安装?
我想在较低的设备上忽略这一行.
Com*_*are 11
这一行会被忽略吗?
没有.
我的应用会崩溃吗?
Spectactularly.:-)
该应用是否会被Google Play过滤,因此无法安装?
没有.
我想在较低的设备上忽略这一行.
你有两个问题:
@SuppressLint("NewApi") 是错误的快速修复选择
您没有添加任何代码以避免在旧设备上使用此行
使用@TargetApi(...)代替@SuppressLint("NewApi"),其中...是名称(例如,FROYO)或数字(例如,8)你的方法引用代码.
但是在你这样做之前,请在检查中包装你的违规行,看看它们是否应该在这个设备上执行:
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.FROYO) {
// then execute your code that requires API Level 8
}
// optional else block if you have some workaround for API Level 7
Run Code Online (Sandbox Code Playgroud)
您的if检查将导致您的线路被避免.您的@TargetApi注释将导致Lint停止向您大吼大叫,引用一个过于新的类或方法.
| 归档时间: |
|
| 查看次数: |
1470 次 |
| 最近记录: |