- 0
Как получить результат отправки СМС, корректно получить Activity.RESULT через broadcast
-
Похожий контент
-
- 11 ответов
- 2 861 просмотр
-
- 1 ответ
- 2 381 просмотр
-
- 0 ответов
- 2 135 просмотров
-
- 6 ответов
- 2 567 просмотров
-
[Android] Как удалить SMS на андроиде, начиная с Android 5?
От lev.vorobyov,
- Удаление SMS
- Android
- (и ещё 1 )
- 5 ответов
- 4 594 просмотра
-
Использование нативных LocalBroadcastManager и BroadcastReceiver 1 2
От Pax Beach,
- broadcastreceiver
- timer
- (и ещё 2 )
- 30 ответов
- 9 407 просмотров
-
- 3 ответа
- 3 494 просмотра
-
- 10 ответов
- 11 215 просмотров
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
ENERGY
Привет.
Для отправки смс используется SMSManager и его функция.
Описание ее на сайте developer.android.com . Для того чтобы узнать статус отправлена смс или нет, нужно указать предпоследний параметр
sentIntentPendingIntent: if not NULL thisPendingIntentis broadcast when the message is successfully sent, or failed. The result code will beActivity.RESULT_OKfor success, or one of these errors:RESULT_ERROR_GENERIC_FAILURERESULT_ERROR_RADIO_OFFRESULT_ERROR_NULL_PDU.Я также нашел описание как добавить этот параметр на StackOverflow, но там не указаны детали.
Вот что пишет этот человек: You have to createIntent objects first, THEN create PendingIntent objects to wrap those Intent objects, THEN pass the PendingIntent objects to sendTextMessage() and use a broadcastReceiver to receive the Intent objects.
Итак я создаю интент, и оборачиваю его в PendingIntent по аналогии со статьей Андрея Ефимова:
// Создаём ИнтентIntent := TJIntent.Create;Intent.setClassName(TAndroidHelper.Context, StringToJString('com.TestReceiver.AlarmReceiver'));// Оборачиваем Интент в PendingIntentPendingIntent := TJPendingIntent.JavaClass.getBroadcast(TAndroidHelper.Context,1, Intent,0);И вставляю это
PendingIntent в кодsendTextMessageКогда вернутся код ошибки SMS, то насколько я понял сработает ява код, на который зарегистрирован прием:
packagecom.TestReceiver;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;publicclassAlarmReceiverextendsBroadcastReceiver {publicvoidonReceive(Context context, Intent intent) {Intent TestLauncher =newIntent();TestLauncher.setClassName(context,"com.embarcadero.firemonkey.FMXNativeActivity");TestLauncher.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(TestLauncher);}}Вопрос в следующем:
Как мне эту цифру с ошибкой Activity.RESULT_OK (или RESULT_ERROR_GENERIC_FAILURE или любой другой) вытащить оттуда и передать в программу?
Upd1:
Это результат вызова из Java кода метода
getResultCode().Можно ли
getResultCodeвызвать из Delphi, а не из Java кода?
Изменено пользователем ENRGY2 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.