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