Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Igor-vrn
7 / 7 / 2
Регистрация: 14.12.2013
Сообщений: 94
#1

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

15.05.2014, 18:37. Просмотров 747. Ответов 0
Метки нет (Все метки)

Приложение отправляет СМС, при этом нужно зарегистрировать 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. Пару объектов для отправки и доставки нужно также создать и зарегистрировать. Тему можно закрывать
http://www.cyberforum.ru/android-dev/thread1513156.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2014, 18:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Обратная связь при отправке СМС. уведомление об успешной отправке и доставке (Программирование Android):

Как устранить возрастающую задержку при отправке данных через EDGE (2G)?
Вопрос к гуру клиент-серверных приложений для мобильных сетей. Eсть...

Обратная связь
Как можно реализовать с приложении подобие обратной связи, как на сайтах. Т.е....

Обратная связь в приложении на Android
Здравствуйте, такой вопрос. Как реализовать обратную связь на андроид ? с...

Отчеты ошибок в релизе приложения, обратная связь
Привет. Я хотел поинтересоваться у разработчиков какими средствами пользуетесь...

Вывести сообщение при успешной отправке формы
У меня есть форма отправки сообщений на сайте,нужно при успешном ее заполнении...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2014, 18:37
Привет! Вот еще темы с решениями:

не приходит уведомление при отправке комментария
Здравствуйте, проблема в том, что я делала сайт на локальном хосте. Там я...

Параметр при отправке смс
Доброго врмени суток! На сайте https://mts.ru/ при отпрвке...

Как убрать From:,Subject: при отправке СМС?
Я сделал прогу для отправки смс, но мне не нравится что в смсках сперва пишется...

Вывод сообщения об успешной отправке
Как сделать так, чтобы при нажатии на кнопку "отправить" появилось окно или...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru