我正在尝试在我的Android应用中实现简单通知。我正在考虑这个developer guide
但收到此错误消息:
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;
我认为导入了正确的NotificationCompat
类。我正在使用Android Studio v2.1.2
进行开发。请帮我解决此错误消息。我是android编程和java的新手。
答案 0 :(得分:39)
替换
import android.support.v7.app.NotificationCompat;
与
import android.support.v4.app.NotificationCompat;
答案 1 :(得分:29)
这些构建器方法的返回类型返回NotificationCompat.Builder的v4版本。 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版本。
答案 2 :(得分:0)
如果您已更新为Androidx,则
替换
import android.support.v4.app.NotificationCompat
//or
import android.support.v7.app.NotificationCompat
使用
import androidx.core.app.NotificationCompat;