У меня есть приложение с возможностью входа с нескольких устройств. Я хочу, чтобы пользователь, удаленный с одного устройства на другом, вышел из системы и удалил его автоматически и немедленно.
Я прочитал здесь: Как принудительно выйти из Firebase Auth пользователя из приложения удаленно и там.
Я думал о способе трансляции. Я сделал это:
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue();
Set<String> keySet = map.keySet();
List<String> list = new ArrayList<String>(keySet);
deviceKey = list.get(0);
mDatabaseReference.child(deviceKey).child("user").removeValue();
intentFilter = new IntentFilter(deviceKey);
receiver = new MyBroadcastReceiver();
registerReceiver(receiver, intentFilter);
Intent intent = new Intent(deviceKey);
sendBroadcast(intent);
//dataSnapshot.getRef().child(Constants.USER_PROFILE_ACCOUNT_KEY).removeValue();
}
}
и
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(Constants.androidId))
Toast.makeText(context, "deleted account happen", Toast.LENGTH_LONG).show();
}
}
когда Constants.androidId равен идентификатору андроида, а intent.getAction () равен корневому каталогу удаленного пользователя.
Я запустил его на 2 устройствах, но на соответствующем устройстве я не увидел этот тост.
есть причина или предложения?
моя структура:
![realtime db](https://i.stack.imgur.com/g7UhC.jpg)