Android 从高于最低要求的API级别调用API
我写了一个应用程序的大部分只是罚款最低API水平设置为7。我想从8级调用一个API。android较低版本的用户将在没有这个“额外功能”的情况下生存 目前我添加了Android 从高于最低要求的API级别调用API,android,Android,我写了一个应用程序的大部分只是罚款最低API水平设置为7。我想从8级调用一个API。android较低版本的用户将在没有这个“额外功能”的情况下生存 目前我添加了@suppressint(“NewApi”),以便我的代码可以运行;我正在API 14上测试它。一切正常 我想知道该应用程序在API 7设备上的表现。这一行会被忽略吗?我的应用程序会崩溃吗?Google Play是否会过滤该应用程序,使其无法安装 我希望在较低的设备上忽略这一行。如果您没有if语句来检查API,以便在API==7时忽略它
@suppressint(“NewApi”)
,以便我的代码可以运行;我正在API 14上测试它。一切正常
我想知道该应用程序在API 7设备上的表现。这一行会被忽略吗?我的应用程序会崩溃吗?Google Play是否会过滤该应用程序,使其无法安装
我希望在较低的设备上忽略这一行。如果您没有if语句来检查API,以便在API==7时忽略它,那么您的应用程序将崩溃。我使用的是4.0到4.2设备,并使用飞机模式进行了一些测试,在API 4.1和以下版本中,可以在
Settings.System
中找到飞机模式,但在4.2中,飞机模式处于Settings.Global
下。如果我试着打错电话,应用程序就会崩溃 最好把这件事包起来
import android.os.Build;
if(Build.VERSION.SDK_INT > Build.VERSION_CODES.ECLAIR_MR1) {
// do what you want
}
这一行会被忽略吗
没有
我的应用程序会崩溃吗
特别地。:-)
Google Play是否会过滤该应用程序,使其无法安装
没有
我希望在较低的设备上忽略这一行
你有两个问题:
@suppressint(“NewApi”)
是错误的快速修复选择@TargetApi(…)
而不是@suppressint(“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
您的if
检查将导致您的线路被避开。您的@TargetApi
注释将导致Lint停止对您大喊引用太新的类或方法