Форум программистов, компьютерный форум CyberForum.ru

Обратная связь при отправке СМС. уведомление об успешной отправке и доставке - Android

Восстановить пароль Регистрация
 
Igor-vrn
7 / 7 / 2
Регистрация: 14.12.2013
Сообщений: 93
15.05.2014, 18:37     Обратная связь при отправке СМС. уведомление об успешной отправке и доставке #1
Приложение отправляет СМС, при этом нужно зарегистрировать Activity как приемник событий об отправке и доставке СМС.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
private BroadcastReceiver sent = null; // широковещательный приемник на отправку
private BroadcastReceiver delivered = null; // отчет о доставке
    
 
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
IntentFilter in_sent = new IntentFilter("SMS_SENT");
        sent = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                // TODO Auto-generated method stub
                switch(getResultCode()) {
                case Activity.RESULT_OK:
                    Toast.makeText(context, "Сообщение отправлено", Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                    Toast.makeText(context, "Сбой при отправке", Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_NO_SERVICE:
                    Toast.makeText(context, "Ошибка. Нет сети", Toast.LENGTH_SHORT).show();
                    break;
                case SmsManager.RESULT_ERROR_RADIO_OFF:
                    Toast.makeText(context, "Ошибка. Радиомодуль выключен", Toast.LENGTH_SHORT).show();
                    break;  
                }
                Toast.makeText(context, "Отправка", Toast.LENGTH_SHORT).show();
                isSending = false;
                //ChangeStatus();
            }
            
        };
        this.registerReceiver(sent, in_sent);
        
        IntentFilter in_delivered = new IntentFilter("SMS_DELIVERED");
        delivered = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                // TODO Auto-generated method stub
                switch(getResultCode()) {
                case Activity.RESULT_OK:
                    Toast.makeText(context, "Доставлено", Toast.LENGTH_SHORT).show();
                    break;
                case Activity.RESULT_CANCELED:
                    Toast.makeText(context, "Не доставлено", Toast.LENGTH_SHORT).show();
                    break;
                }
            }
        };
        this.registerReceiver(delivered, in_delivered);
        
        
    }
Не сказать, что я хорошо разобрался с этим механизмом. Скорее позаимствовал часть кода и разобрался с сутью. Собственно, приложение отправляет СМС, но уведомления эти не вызывает. Проверял на устройстве - СМС доходит до абонента. Почему же уведомления об отправке не приходят? Где ошибка?

Если можно, пару комментариев на счет: как понимать BroadcastReceiver и IntentFilter. На английском читал о них, но особо не понял ничего

Добавлено через 3 часа 23 минуты
Решение нашел. Не разобрался в этой теме сначала. Вся проблема в PendingIntent. Пару объектов для отправки и доставки нужно также создать и зарегистрировать. Тему можно закрывать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2014, 18:37     Обратная связь при отправке СМС. уведомление об успешной отправке и доставке
Посмотрите здесь:

Разворачивание приложения при нажатии на уведомление Android
Android SmsManager вылетает при отправке СМС
Не выводится уведомление Android
Как устранить возрастающую задержку при отправке данных через EDGE (2G)? Android
Уведомление пользователя при выходе из приложения Android
Android Открыть старое активити при клике на уведомление
Android Отчеты ошибок в релизе приложения, обратная связь
Обратная связь Android
Обратная связь в приложении на Андроид Android
Версии по для успешной работы Android
Android Почему выскакивает уведомление при попытке запустить apk ?
Android Убрать уведомление при выходе из приложения

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru