找不到符号类NotificationManagerCompat

问题描述 投票:0回答:1

我正在尝试构建一种通知方法,当检测到特定信标时,该方法会在锁定屏幕上显示通知。我的理解是我需要在以下代码中包含 .setVisibility(0) :

public void showNotification(Beacon beacon) {

    Resources r = getResources();
    int random = (int)System.currentTimeMillis();
    Notification notification = new NotificationCompat.Builder(this)
            .setSmallIcon(android.R.drawable.ic_popup_reminder)
            .setContentTitle("Beacons Found")
            .setContentText(beacon.getID().toString())
            .setVisibility(0)  // allow notification to appear on locked screen
            .setAutoCancel(true)
            .build();

    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    notificationManager.notify(random, notification);

}

我有上面的代码,但是当我运行它时,它说“找不到符号变量SetVisibility”。我在网上做了一些研究,看来我需要导入这个:

 import android.support.v4.app.NotificationManagerCompat;

但是如果我包含这个导入语句,它会说“找不到符号类NotificationManagerCompat”

我该怎么办?我已经安装了 Android Support Repository SDK,并且项目的 libs 文件夹中有“android-support-v4.jar”

android push-notification ibeacon-android
1个回答
0
投票

也许您会出现此错误,因为您向项目中添加了新模块。

要修复此问题,请更改

minSdkVersion
targetSdkVersion
buildToolsVersion
compileSdkVersion
以匹配原始模块中的
build.gradle

之后将

minifyEnabled
设置为
false

它实际上为我解决了这个问题(在使用 Android Studio 3.0.1 时)是将 facebook 设置为

compile 'com.facebook.android:facebook-android-sdk:4.26.0'

还要检查您的其他库和依赖项以及构建文件。

我当前的构建文件:

allprojects {
    repositories {
        jcenter()
        maven  {
            url "http://repo1.maven.org/maven2"
        }
        // maven  {
        //    url 'https://maven.google.com'
        // }
        // since Android Studio 3.0.0
        // or google()
        flatDir {
            dirs 'libs'
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.