如何在 Android Studio 中导入 android.support.v7.app.NotificationCompat.Builder 类

2022-09-01 10:12:45

我正在尝试在我的Android应用程序中实现简单的通知。我拒绝此开发人员指南

但是收到此错误消息:

Incompatible types.
Required: android.support.v7app.NotificationCompat.Builder
Found: android.support.v4.app.Notification.Compat.Builder

错误消息屏幕截图

对于以下代码片段:

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
                        .setSmallIcon(R.drawable.ic_launcher)
                        .setContentTitle("My notification")
                        .setContentText("Hello World!");

这是我的进口:

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.app.NotificationCompat;
import android.view.View;
import android.widget.Button;

我认为导入了正确的类。我正在用于开发。请帮助我处理此错误消息。我是Android编程和Java的新手。NotificationCompatAndroid Studio v2.1.2


答案 1

取代

 import android.support.v7.app.NotificationCompat;

 import android.support.v4.app.NotificationCompat;

答案 2

这些生成器方法的返回类型返回 v4 版本的 NotificationCompat.Builder。v7 NotificationCompat.Builder 扩展了 v4 版本,并且在很大程度上只是从中继承了方法,这意味着返回类型不会更改。

文档:

如果你需要 v7 版本(用于支持 NotificationCompat.MediaStyle),只需强制转换为它。

NotificationCompat.Builder mBuilder = (android.support.v7.app.NotificationCompat.Builder) new NotificationCompat.Builder(this)
                    .setSmallIcon(R.drawable.ic_launcher)
                    .setContentTitle("My notification")
                    .setContentText("Hello World!");

如果没有,请交换导入以使用 v4 版本。


推荐