我编写的应用程序的大部分内容都很好,最低 API 级别设置为 7。我想从级别 8 调用单个 API。使用较低版本 Android 的用户将在没有此“额外功能”的情况下生存。
目前我添加了@SuppressLint("NewApi")
这样我的代码就可以运行;我正在 API 14 上测试它。一切正常。
我想知道该应用程序在 API 7 设备上的表现如何。这一行会被忽略吗?我的应用程序会崩溃吗?该应用程序会被 Google Play 过滤从而无法安装吗?
我想在较低的设备上忽略这一行。
这一行会被忽略吗?
No.
我的应用程序会崩溃吗?
壮观。 :-)
该应用程序会被 Google Play 过滤从而无法安装吗?
No.
我想在较低的设备上忽略这一行。
你有两个问题:
@SuppressLint("NewApi")
是错误的快速修复选择
您没有添加任何代码来避免在旧设备上出现此行
Use @TargetApi(...)
代替@SuppressLint("NewApi")
, where ...
是名称(例如,FROYO
)或数字(例如,8
)您的方法引用的代码。
But before你这样做,将你的违规行包裹在一个检查中,看看它们是否应该在此设备上执行:
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
Your if
检查将导致您的线路被避开。你的@TargetApi
注释将使 Lint 停止对您大喊大叫引用太新的类或方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)