如何在Android Studio

时间:2016-07-07 15:50:43

标签: java android android-studio

我正在尝试在我的Android应用中实现简单通知。我正在考虑这个developer guide

但收到此错误消息:

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

Error Message screenshot

对于以下代码段:

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的新手。

3 个答案:

答案 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;