Java 无法在生成器中应用此选项
我正在使用firebase构建聊天应用程序。我试图在收到新消息时通知用户。我的问题是Java 无法在生成器中应用此选项,java,android,firebase,notifications,firebase-realtime-database,Java,Android,Firebase,Notifications,Firebase Realtime Database,我正在使用firebase构建聊天应用程序。我试图在收到新消息时通知用户。我的问题是这个。我收到一个错误消息,说builder中的builder(content.context)不能应用于(匿名com)… 这是我的密码: reference1.addChildEventListener(new ChildEventListener() { @Override public void onChildAdded(DataSnapshot dataSnapshot, String s)
这个
。我收到一个错误消息,说builder中的builder(content.context)不能应用于(匿名com)…
这是我的密码:
reference1.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Map map = dataSnapshot.getValue(Map.class);
String message = map.get("message").toString();
String userName = map.get("user").toString();
//If i am the sender
if(userName.equals(UserDetails.username)){
addMessageBox("You:-\n" + message, 1);
}
else {
//if somebody else send a message
addMessageBox(UserDetails.chatWith + ":-\n" + message, 2);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.hello)
.setContentTitle("My notification")
.setContentText("Hello World!");
}
}
有什么建议吗
编辑
如下面的回答所述
问题是,这指的是ChildEventListener,而不是活动,因此我必须在ChildEventListener之外创建一个方法,以便“this”可以指的是它自己的活动,并在我想要的地方调用它 您需要一个上下文,例如一个活动 因此,您可以使用
活动。此,或
final Context context = this;
reference1.addChildEventListener(new ChildEventListener() {
@Override
...
并在事件侦听器中使用上下文
使用MainActivity。此
,或活动iserror已消失但未收到任何通知的任何名称Error已消失但我未收到任何通知。不确定要告诉您什么。你的问题只是让代码编译你只创建了一个生成器。您的问题中没有任何内容会显示通知哦,Sry我没有显示全部代码,我在ChildEventListener外部创建了一个名为startNotification的对象,并在内部调用了它,它工作了,现在这指的是它自己的活动。非常感谢