Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / Отчет о доставке смс / 4 сообщений из 4, страница 1 из 1
22.04.2015, 10:45
    #38942249
korshun
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет о доставке смс
Приложение отправляет смс, нужно знать, доставлено оно или нет.
В интернетах нашел пример, проблема в том, что ресивер на статус отправки срабатывает, сообщает, что сообщение отправлено, а ресивер на статус доставки молчит. В чем может быть проблема ?

Код: 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.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
            String SENT =                   "SMS_SENT";
            String DELIVERED =              "SMS_DELIVERED";

            PendingIntent sentPI =          PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);

            PendingIntent deliveredPI =     PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);

            //---when the SMS has been sent---
            registerReceiver(new BroadcastReceiver(){
                @Override
                public void onReceive(Context arg0, Intent arg1) {
                    switch (getResultCode()) {
                        case Activity.RESULT_OK:
                            Toast.makeText(getBaseContext(), "SMS sent",
                                    Toast.LENGTH_SHORT).show();
                            break;
                        case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                            Toast.makeText(getBaseContext(), "Generic failure",
                                    Toast.LENGTH_SHORT).show();
                            break;
                        case SmsManager.RESULT_ERROR_NO_SERVICE:
                            Toast.makeText(getBaseContext(), "No service",
                                    Toast.LENGTH_SHORT).show();
                            break;
                        case SmsManager.RESULT_ERROR_NULL_PDU:
                            Toast.makeText(getBaseContext(), "Null PDU",
                                    Toast.LENGTH_SHORT).show();
                            break;
                        case SmsManager.RESULT_ERROR_RADIO_OFF:
                            Toast.makeText(getBaseContext(), "Radio off",
                                    Toast.LENGTH_SHORT).show();
                            break;
                    }
                }
            }, new IntentFilter(SENT));

            //---when the SMS has been delivered---
            registerReceiver(new BroadcastReceiver(){
                @Override
                public void onReceive(Context arg0, Intent arg1) {
                    // ==================== НЕ СРАБАТЫВАЕТ!!!!!!!!!!!!
                    Toast.makeText(getBaseContext(), "SMS in proccess",
                            Toast.LENGTH_SHORT).show();
                    switch (getResultCode()) {
                        case Activity.RESULT_OK:
                            Toast.makeText(getBaseContext(), "SMS delivered",
                                    Toast.LENGTH_SHORT).show();
                            break;
                        case Activity.RESULT_CANCELED:
                            Toast.makeText(getBaseContext(), "SMS not delivered",
                                    Toast.LENGTH_SHORT).show();
                            break;
                    }
                }
            }, new IntentFilter(DELIVERED));

            SmsManager.getDefault().sendTextMessage(
                    number, // address
                    null, // Service Center address (null uses default)
                    text, // message content
                    sentPI, // intent to be called on message sent (if not null)
                    deliveredPI); // intent to be called on message delivered (if not null)

            ContentValues values = new ContentValues();


            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                values.put(Telephony.Sms.ADDRESS, number);
                values.put(Telephony.Sms.BODY, text);

                getContentResolver().insert(Telephony.Sms.Sent.CONTENT_URI, values);
            } else {
                values.put("address", number);
                values.put("body", text);

                getContentResolver().insert(Uri.parse("content://sms/sent"), values);
            }
...
Рейтинг: 0 / 0
22.04.2015, 11:01
    #38942266
korshun
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет о доставке смс
Отбой, видимо глюк сотового оператора, все ок в общем, код вполне работоспособен.
...
Рейтинг: 0 / 0
22.04.2015, 11:05
    #38942274
Микола Питерский
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет о доставке смс
Оператор не гарантирует как доставку получателю СМС так и доставку отчета об отправке.
...
Рейтинг: 0 / 0
22.04.2015, 19:13
    #38942928
korshun
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет о доставке смс
Микола ПитерскийОператор не гарантирует как доставку получателю СМС так и доставку отчета об отправке.
Знаю, спасибо.
...
Рейтинг: 0 / 0
Форумы / Android [игнор отключен] [закрыт для гостей] / Отчет о доставке смс / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]