Получать уведомления Когда SMS отправлено или отменено? - PullRequest
0 голосов
/ 26 марта 2020

Моему приложению разрешено отправлять только одно SMS-сообщение в день, используя отправителя SMS по умолчанию (который уже присутствует в каждом android устройстве) , поэтому мне нужно отключить кнопку отправки SMS один раз SMS отправлено.

То, что я делаю в настоящее время, заключается в том, что всякий раз, когда пользователь нажимает кнопку отправки SMS, я перемещаю его к отправителю сообщения устройства по умолчанию, например,

        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", phoneNumber, null));
        intent.putExtra("sms_body", message);
        baseActivity.startActivity(intent);

Я могу перемещаться только к пользователю. отправитель SMS по умолчанию, а затем оттуда пользователь может либо отправить SMS, либо он может отменить отправку SMS (нажав кнопку назад) , теперь вопрос в том, как я буду уведомлен о том, что SMS отправлено? Есть ли какой-либо механизм обратного вызова или приемник, который может сказать мне, что SMS было отправлено или SMS было отменено пользователем?

1 Ответ

0 голосов
/ 26 марта 2020

, который уже присутствует в каждом android устройстве

Не совсем.

Я перехожу к нему по умолчанию, как отправитель сообщения устройства,

Для устройства Android не требуется наличие приложения, отвечающего ACTION_VIEW для схемы sms. У вас будет больше шансов с ACTION_SEND, так как - это то, что Google говорит, что вы должны использовать .

Даже тогда будут устройства, у которых нет такого приложения. Например, не все устройства Android являются телефонами.

, как я буду получать уведомления о том, что SMS отправлено?

Вы не будете. То, что пользователь делает в ответ на ваш запрос ACTION_VIEW (или ACTION_SEND, ACTION_SENDTO или ACTION_SEND_MULTIPLE), зависит от пользователя и выбранного приложения.

Есть ли механизм обратного вызова или приемник, который может сказать мне, что SMS было отправлено или SMS было отменено пользователем?

Не совсем. Для начала пользователь может не выбрать клиента SMS для ответа на ваш Intent. В конце концов, любое приложение может иметь активность, соответствующую вашей структуре Intent. Даже если пользователь выбирает клиента SMS, нет гарантии, что приложение сделает что-либо, что позволит третьим сторонам (например, вашему приложению) узнать о том, что происходит внутри этого приложения.

Многие, но не все, Клиенты SMS обновят отправленный элемент Sms, предоставленный системой *1038*.

...