Как заставить пользователя firebase auth выйти из приложения удаленно с помощью broadcastReceiver - PullRequest
0 голосов
/ 21 января 2019

У меня есть приложение с возможностью входа с нескольких устройств. Я хочу, чтобы пользователь, удаленный с одного устройства на другом, вышел из системы и удалил его автоматически и немедленно. Я прочитал здесь: Как принудительно выйти из 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...