Я создаю приложение чата и использую службу намерений для отправки сообщений в базу данных firebase даже после того, как активность будет уничтожена.После успешной загрузки я хочу очистить текст в Edittext в классе IntentService, но не знаю, как это сделать.
Код класса активности
Intent sendmsgService = new Intent(getApplicationContext(),SendMessageService.class);
sendmsgService.putExtra("msg",message);
sendmsgService.putExtra("time",time);
sendmsgService.putExtra("cuser",current_user);
sendmsgService.putExtra("otheruser",otherusername);
startService(sendmsgService);
Код класса IntentService
public class SendMessageService extends IntentService {
DatabaseReference msgDatabase , mDatabase;
String current_user,otherusername,message,time;
public SendMessageService() {
super("SendMessageService");
mDatabase = FirebaseDatabase.getInstance().getReference();
msgDatabase = mDatabase.child("messages").child(current_user).child(otherusername);
}
@Override
protected void onHandleIntent(@Nullable Intent intent) {
assert intent!=null;
message = intent.getStringExtra("msg");
time = intent.getStringExtra("time");
current_user = intent.getStringExtra("cuser");
otherusername = intent.getStringExtra("otheruser");
DatabaseReference push_database = msgDatabase.push();
String msg_push = push_database.getKey();
DatabaseReference d = FirebaseDatabase.getInstance().getReference();
String cuser = current_user+"/"+otherusername+"/";
String ouser = otherusername+"/"+current_user+"/";
Map<String,Object> chatitems = new HashMap<>();
chatitems.put("seen",false);
chatitems.put("msg",message);
chatitems.put("from",current_user);
Map<String,Object> msgitemmap = new HashMap<>();
chatitems.put("time", ServerValue.TIMESTAMP);
msgitemmap.put("servertime",ServerValue.TIMESTAMP);
msgitemmap.put("time",time);
msgitemmap.put("msg",message);
msgitemmap.put("from",current_user);
msgitemmap.put("to",otherusername);
msgitemmap.put("seen",false);
msgitemmap.put("key",msg_push);
Map<String,Object> chatmap = new HashMap<>();
chatmap.put("chatlist/"+cuser,chatitems);
chatmap.put("chatlist/"+ouser,chatitems);
chatmap.put("messages/"+cuser+msg_push,msgitemmap);
chatmap.put("messages/"+ouser+msg_push,msgitemmap);
d.updateChildren(chatmap).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
//Here i want to clear the edittext
}
});
}}
Если есть какое-либо другое решение, пожалуйста, предложите.