私はfirebaseを使用してチャットアプリを構築しています。新しいメッセージを受信したときにユーザーに通知しようとしています。私の問題はthis
です。ビルダーでこれを適用することはできません
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!");
}
}
任意のヒント:私はここにbuilder(content.context) in builder cannot be applied to (anonymous com......)
が私のコードであるというエラーを取得していますか?
編集
以下の回答で述べたような問題は、この活動をChildEventListenerを意味していないので、私は「これは」を参照できるように、サイドChildEventListenerをメソッドを作成する必要がありましたということですそれは私がそれがほしいと思ったところでそれを呼びました
使用 'MainActivity.this'内
context
を使用するか、任意の名前、あなたの活動は –エラーがなくなっているが、いずれも受信することはできません通知 – mahmoud