Android 特定于API级别的通知代码给出了所需最低API级别的错误

Android 特定于API级别的通知代码给出了所需最低API级别的错误,android,notifications,Android,Notifications,我正在尝试让我的应用程序发出通知,但由于最小api级别为11,我必须使用以下代码: if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) { // call something for API Level 16+ Notification noti; noti = new Notification.Builder(this)

我正在尝试让我的应用程序发出通知,但由于最小api级别为11,我必须使用以下代码:

 if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
        // call something for API Level 16+
        Notification noti;

        noti = new Notification.Builder(this)
                .setContentTitle("New Notification from LCD")
                .setContentText("content")
                .setSmallIcon(R.drawable.ic_launcher)
                .setContentIntent(pIntent)
                .addAction(R.drawable.ic_launcher, "Option1", pIntent)
                .addAction(R.drawable.ic_launcher, "Option2", pIntent)
                .addAction(R.drawable.ic_launcher, "Option3",
                        pIntent).build();
        NotificationManager nmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        // hide notification
        noti.flags |= Notification.FLAG_AUTO_CANCEL;

        nmanager.notify(0, noti);
    }
我还为16以下的API级别设置了另一个,使用.getNotification()而不是.build()

即使在这之后,我仍然得到
调用要求API级别16(当前最小值为11)
错误。我能做些什么来解决这个问题


编辑:忘记添加,.getNotification行出现黄色错误,表示类型通知中的方法getNotification().Builder已弃用

您应该使用
@SuppressLint(“NewApi”)
注释。 例如,以下方法检测设备是否具有物理菜单按钮:

@SuppressLint("NewApi")
public static boolean hasMenuButton(Context ctx) {
    return (
        Build.VERSION.SDK_INT <= 10 || 
        (Build.VERSION.SDK_INT >= 14 && ViewConfiguration.get(ctx).hasPermanentMenuKey())
    );
}

哇,谢谢,真管用!所以,它所做的一切就是阻止它检查这种类型的错误?当然,它是这样做的:)是的,确实如此。这是一种告诉编译器您知道自己在做什么的方法。
@SuppressWarnings("deprecation")
private void initializeSurfaceHolder() {
    final SurfaceHolder holder = getHolder();

    holder.addCallback(this);

    if (Build.VERSION.SDK_INT < 11) {
        holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    }
}