Size: a a a

Android Developers

2020 June 06

P

Pharidun in Android Developers
Есть приложение отправляющее много SMS сообщений. 10-20 в минуту. всё это делается фоном в сервисе. На андроид 8 работало норм а вот на андроид 5 примерно каждые 100 сообщений просит подтверждения, что-то типо: "AppName отправляет множество SMS-сообщений. Разрешить отправку ?". Кто нибудь знает как это можно исправить ?
источник

МП

Михаил Паршин... in Android Developers
источник

AK

Alexander Konopelko in Android Developers
Всем привет! Вопрос по теме использования Firebase:
С помощью Firebase сделал аутентификацию пользователей. Есть возможность создавать несколько аккаунтов на одном устройстве.

Предположим, пользователи обмениваются некоторыми объектами, всё это происходит через Firebase Realtime Database.

Также присутствует раздел с уведомлениями: кто-то стучится в друзья/хочет поделиться определённым объектом... и т.д.
Уведомления реализованы через ValueEventListener, который "слушает" изменения данных на Firebase Database.

В чём проблема:
0 шаг) На одном устройстве зареганы несколько пользователей. Заходим в 1й аккаунт -> потом заходим во 2й аккаунт -> возвращаемся обратно в 1й аккаунт.
1 шаг) Пользователь (1й акк) создаёт определённый объект -> делится им со 2м аккаунтом.
2 шаг) (ошибка) 2му аккаунту это уведомление доходит нормально. Но! 1й пользователь сам же видит у себя уведомление, которое предоставлялось только 2му аккаунту. (Т.е. срабатывает valueEventListener другого пользователя)

Как можно исправить это?

Пробовал:
1) удалять valueEventListener вручную через removeEventListener()
2) чистить где только возможно локальные данные пользователя при переходе между аккаунтами
3) логгил каждый этап и узнал, что несмотря на то, что valueEventListener работает с одним UserId, в момент отправки уведомления, этот UserId меняется на такой, будто текущий пользователь = 2й аккаунт, а не 1й, как это есть на самом деле
источник

D

D40C00 in Android Developers
Alexander Konopelko
Всем привет! Вопрос по теме использования Firebase:
С помощью Firebase сделал аутентификацию пользователей. Есть возможность создавать несколько аккаунтов на одном устройстве.

Предположим, пользователи обмениваются некоторыми объектами, всё это происходит через Firebase Realtime Database.

Также присутствует раздел с уведомлениями: кто-то стучится в друзья/хочет поделиться определённым объектом... и т.д.
Уведомления реализованы через ValueEventListener, который "слушает" изменения данных на Firebase Database.

В чём проблема:
0 шаг) На одном устройстве зареганы несколько пользователей. Заходим в 1й аккаунт -> потом заходим во 2й аккаунт -> возвращаемся обратно в 1й аккаунт.
1 шаг) Пользователь (1й акк) создаёт определённый объект -> делится им со 2м аккаунтом.
2 шаг) (ошибка) 2му аккаунту это уведомление доходит нормально. Но! 1й пользователь сам же видит у себя уведомление, которое предоставлялось только 2му аккаунту. (Т.е. срабатывает valueEventListener другого пользователя)

Как можно исправить это?

Пробовал:
1) удалять valueEventListener вручную через removeEventListener()
2) чистить где только возможно локальные данные пользователя при переходе между аккаунтами
3) логгил каждый этап и узнал, что несмотря на то, что valueEventListener работает с одним UserId, в момент отправки уведомления, этот UserId меняется на такой, будто текущий пользователь = 2й аккаунт, а не 1й, как это есть на самом деле
может просто onDestroy не вызываеться при смене аккаунта и оно отображает предыдущий лейаут?
источник

AK

Alexander Konopelko in Android Developers
D40C00
может просто onDestroy не вызываеться при смене аккаунта и оно отображает предыдущий лейаут?
Действительно, при возврате к экрану входа/регистрации я использую просто startActivity() а потом ещё раз startActivity() при входе внутрь аккаунта. Однако лэйаут с уведомлениями - отдельный DialogFragment, который показывается по клику на кнопку в боковом меню.
Т.е. лейауты явно отличаются у двух пользователей, это видно, поэтому это точно не предыдущий лэйаут.

Остальные элементы UI меняются правильно, т.е. при входе подгружаются нужные данные, успешно проходит авторизация, userID меняется нормально, имя и т.д.

valueEventListener бунтует только тогда, когда, условно говоря, создаёшь объект, который отправляешь потом в FirebaseDatabase.

Т.е. прям в логах видно, что userId почему-то меняется на id прошлого вошедшего пользователя. Например, может быть такой лог из внутренностей valueEventListener-а (Log.e("id", userId)):
id: uid1
id: uid1
id: uid1
id: uid2
id: uid2
id: uid2
источник

S

Singular in Android Developers
Как в андроид студию убрать эти файлы из гита?
Чтобы они отображались обычным серым цветом.
источник

RT

Rauan Toleubek in Android Developers
Singular
Как в андроид студию убрать эти файлы из гита?
Чтобы они отображались обычным серым цветом.
.gitignore
источник

AD

Aleksey D. in Android Developers
Rauan Toleubek
.gitignore
только они будут желтым подсвечиваться ☹️
источник

S

Singular in Android Developers
Aleksey D.
только они будут желтым подсвечиваться ☹️
Ага, я неудачно коммит сделал
источник

S

Singular in Android Developers
вот можно как - то убрать оттуда их?
источник

AD

Aleksey D. in Android Developers
Singular
Ага, я неудачно коммит сделал
git rm
источник

QH

Quantum Harmonizer in Android Developers
Singular
Ага, я неудачно коммит сделал
нет, они у тебя незакоммичены
источник

AD

Aleksey D. in Android Developers
или git reset можно, если ещё запущить не успел
источник

RT

Rauan Toleubek in Android Developers
Aleksey D.
или git reset можно, если ещё запущить не успел
это изменит историю, лучше git revert. Создаст “антикоммит” и сохранит историю
источник

AD

Aleksey D. in Android Developers
Rauan Toleubek
это изменит историю, лучше git revert. Создаст “антикоммит” и сохранит историю
так если не залил ничего - какая проблема?
источник

RT

Rauan Toleubek in Android Developers
тогда норм, да
источник

S

Singular in Android Developers
Aleksey D.
так если не залил ничего - какая проблема?
Залил уже
источник

AD

Aleksey D. in Android Developers
Singular
Залил уже
так Миша правильно подметил, что красные файлы в git не добавлены
источник

S

Singular in Android Developers
Спасибо)
источник

S

Singular in Android Developers
Почему идеа создает 2 файла gitignore?
источник