я использовал firebase childEventListener в классе обслуживания. Именно то, что я сделал в классе обслуживания, как этот вопрос код. Разница только в том, что я использовал вложенный childEventListener
Этот вложенный childEventListener получает данные от потомка потомка с неизвестным идентификатором. И служба становится липкой, и эта служба запускается MainActivity (которая является первой видимой активностью).
Теперь проблема в том, что когда MainActivity запускает службу, устройство зависает до тех пор, пока firebase полностью не прослушает все данные, а при прослушивании завершено, устройство работает отлично. Есть ли какое-либо решение для этой задержки по классу обслуживания?
Возможно ли, что вложенный childEventListener работает на другом потоке, чем, пожалуйста, направляете меня. Спасибо
Ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s)
{
final String uid=dataSnapshot.getKey();
Ref.child(uid).addChildEventListener(new ChildEventListener()
{
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s)
{
Messages messages=dataSnapshot.getValue(Messages.class);
String pushKey=dataSnapshot.getKey();
if (!(pushKey ==null))
{
if(currentUid!=null)
{
SomeMethods(messages,pushKey,myDbHandler,currentUid,uid);
}
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s)
{
SomeMethods(messages,pushKey,myDbHandler,currentUid,uid);
}