Я бы НЕ рекомендовал вам раскрывать UID любого пользователя, который открыто, потому что он может легко использоваться неправильно, если выставлен в приложении любому пользователю.
Это может быть угрозой безопасности вашей базы данных.
Тем не менее, если вы уверены, что это не будет проблемой в вашем случае, то получить uid
любого другого пользователя можно только тогда, когда вы храните uid
всех аутентифицированных пользователей. в вашей базе данных.
Предположим, у вас есть такая структура JSON:
-FirebaseAndroidUniqueName
|
-Users
|
-uid
|
-name
-uid
-otherThings
Тогда получить uid
любого пользователя можно с помощью кода, подобного приведенному ниже:
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("Users");
databaseReference.orderByChild("name").equalTo(userNameWhoseUidYouWant).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
String uid = ds.child("uid").getValue(String.class);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}