Поиск сообщества
Показаны результаты для тегов 'pendingintent'.
Найдено: 1 результат
-
Привет. Для отправки смс используется SMSManager и его функция. smsManager.sendTextMessage(smsTo, nil, StringToJString('Test SMS'), nil, nil); Описание ее на сайте developer.android.com . Для того чтобы узнать статус отправлена смс или нет, нужно указать предпоследний параметр sentIntent PendingIntent: if not NULL this PendingIntent is broadcast when the message is successfully sent, or failed. The result code will be Activity.RESULT_OK for success, or one of these errors: RESULT_ERROR_GENERIC_FAILURE RESULT_ERROR_RADIO_OFF RESULT_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')); // Оборачиваем Интент в PendingIntent PendingIntent := TJPendingIntent.JavaClass.getBroadcast(TAndroidHelper.Context, 1, Intent, 0); И вставляю это PendingIntent в код sendTextMessage Когда вернутся код ошибки SMS, то насколько я понял сработает ява код, на который зарегистрирован прием: package com.TestReceiver; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class AlarmReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { Intent TestLauncher = new Intent(); 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 кода?
- 2 ответа
-
- broadcastreceiver
- pendingintent
-
(и ещё 1 )
C тегом: