我正在尝试构建一种通知方法,当检测到特定信标时,该方法会在锁定屏幕上显示通知。我的理解是我需要在以下代码中包含 .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”
也许您会出现此错误,因为您向项目中添加了新模块。
要修复此问题,请更改
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'
}
}
}