我遇到此错误的问题:
调用需要API级别9(当前最小值为7)
但是,在按照这里发布的一些解决方案后,通过添加uses-skd部分仍然没有帮助:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.app.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="17" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 0 :(得分:0)
这应该是程序,uses-sdk必须是清单元素的直接子元素
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.xxxxx"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="19" />
答案 1 :(得分:0)
您可以在方法调用之前使用@SuppressLint(“NewApi”)。但是不要忘记添加android os版本检查以避免应用程序在旧设备上崩溃
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
// make your call;
}
答案 2 :(得分:0)
这意味着,用户需要特定的最低Android版本(9是Android 2.3+)。换句话说:低于2.1的用户将无法使用该功能,因为它将获得异常。所以改变:
<uses-sdk android:minSdkVersion="9" ...
清洁Lint或者如果您仍然希望自7级(Android 2.1+)以来您的应用程序可用并且想要仅将该功能提供给“更新”设备,请使用if构造:
if(Build.VERSION.SDK_INT >= 9) {
// here goes the feature.
}
请记住,你的IDE可能无法识别这个并且仍然会抛出一个Lint标记,所以只需要对该方法或类或整个项目施加压力。