找不到符号类NotificationManagerCompat

时间:2017-04-06 15:45:41

标签: android push-notification ibeacon-android

我正在尝试构建一种通知方法,当检测到特定信标时,该通知方法会导致锁定屏幕上出现通知。我的理解是我需要在以下代码中包含.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);

}

我有上面的代码,但是当我运行它时它说'#34;找不到符号变量SetVisibility"。我在网上做了一些研究,似乎我需要导入这个:

 import android.support.v4.app.NotificationManagerCompat;

但是如果我包含这个import语句,它会说"找不到符号类NotificationManagerCompat"

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

1 个答案:

答案 0 :(得分:0)

也许你出现了这个错误,因为你在项目中添加了一个新模块。

要解决此问题,请更改minSdkVersiontargetSdkVersionbuildToolsVersioncompileSdkVersion以匹配原始模块中的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'
        }
    }
}