Как закрыть приложение sms по умолчанию и как получить обратный вызов для сообщения об успешном отправлении, используя SMS Intent. (Новое изменение политики альтернативно) - PullRequest
0 голосов
/ 31 января 2019

Я использую SMS, чтобы отправить смс для подтверждения номера телефона пользователя, в соответствии с новым ограничением разрешений Google https://support.google.com/googleplay/android-developer/answer/9047303#alternatives. Но проблема в том, что я не могу закрыть приложение обмена сообщениями и не могу получитьобратный вызов для состояния отправки SMS", верно);

А также последовал за этим ответом Отправка SMS через Intent и узнать, было ли отправлено SMS или нет , но опять же требуется разрешение READ_SMS.

Для этого нет правильного решения.

Пожалуйста, предложите мне, как добиться этого или любого другого альтернативного решения.Для подтверждения моего аккаунта требуется отправка SMS для подтверждения аккаунта.

1 Ответ

0 голосов
/ 05 апреля 2019

У меня была похожая проблема с моим приложением, поскольку новая политика Google по отправке и получению SMS

К сожалению, exit_on_sent не поддерживается многими приложениями SMS.И открытие приложения по умолчанию для SMS с помощью startActivityForResult не вернет другое значение, независимо от того, было ли отправлено SMS или нет

Лучшим решением будет использование сторонней службы в Интернете, которая предоставляет API для отправки SMS (но это будетвероятно, не будет бесплатным)

Я также пытался зарегистрировать наблюдателя содержания SMS, как описано в Отправка SMS через намерение, и узнать, было ли отправлено SMS или нет => в соответствии с моим опытомсобытие onChange будет вызвано, даже если разрешение READ_SMS не предоставлено (за исключением Xiaomi, который разбился ;-), однако будет очень мало подробностей об отправленном SMS (вы даже не будете знать, отправлено или получено SMS)

Тогда для автоматического чтения SMS вы можете иметь 2 варианта: - использовать API извлечения SMS от Google (см. https://developers.google.com/identity/sms-retriever/) - с API 26 и более, используйте SmsManager.createAppSpecificSmsToken (см. androidпроверка смс без разрешения READ_SMS )

...