@AndreyRafalsky132

Как открыть конкретную активность приложения, когда пользователь кликнет на ссылку?

Реализую функциональность "Забыли пароль?" с помощью Firebase Auth. На почту приходит ссылка, при клике на которую открывается примитивная форма с одним полем для ввода нового пароля. Я же хочу, чтобы открывалась конкретная активность в приложении, где пользователь должен ввести пароль и потом подтвердить его. Как реализовать такую функциональность? Читал, что это реализуется с помощью динамических ссылок, но конкретных примеров не нашел. Заранее благодарен за помощь.
  • Вопрос задан
  • 85 просмотров
Решения вопроса 2
RomReed
@RomReed
JavaScript, Reatc js, ReactNative, Redux, Firebase
я работал, где-то пол года назад с этой технологией и с ней были кое-какие проблемы, но думаю что их далжны были пофиксить. вот статьи
https://medium.com/mindorks/working-with-firebase-...
https://medium.com/@1991chester/deep-links-fc993c7242af
https://firebase.apptractor.ru/firebase-na-android...
и конечно https://firebase.google.com/docs/dynamic-links/and...
можете попробовать вот этот проект https://github.com/firebase/quickstart-android/tre...
Ответ написан
iLLuzor
@iLLuzor
Java, Kotlin, Android Developer
Нужно настроить у активити в манифесте intent filter на BROWSABLE/VIEW/DEFAULT, а в классе активити обрабатывать intent в onCreate() и в onNewIntent()

Пример
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AndreyRafalsky132 Автор вопроса
Спасибо за помощь. Реализовал открытие активности, когда пользователь кликает на ссылку. Теперь возникла другая проблема. Мне нужно получить параметры из этой ссылки. Для этого мне нужно получить сначала ее. Я это делаю следующим образом:
FirebaseDynamicLinks.getInstance()
                .getDynamicLink(getIntent())
                .addOnSuccessListener(pendingDynamicLinkData -> {
                    if (pendingDynamicLinkData != null){
                        String link = pendingDynamicLinkData.getLink().getUserInfo();
                        Log.d("MyPlanner", link);
                    }
                })
                .addOnFailureListener(exception -> {
                    Log.d("MyPlanner", exception.getMessage());
                });

Проблема в том, что в pendingDynamicLinkData лежит null. В чем причина не пойму.
Вот мой манифест:
<activity android:name=".view.activity.SaveNewPasswordActivity">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data
                    android:host="coditrafalsky.page.link"
                    android:scheme="https"
                    android:path="/reset"/>

            </intent-filter>
        </activity>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Immoviewer Ярославль
от 1 500 до 2 500 usd.
RentaTeam Москва
от 120 000 до 170 000 руб.
18 сент. 2019, в 09:40
1000 руб./за проект
18 сент. 2019, в 09:35
20000 руб./за проект
18 сент. 2019, в 08:49
10000 руб./за проект