powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Отчет о доставке смс
4 сообщений из 4, страница 1 из 1
Отчет о доставке смс
    #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
Отчет о доставке смс
    #38942266
korshun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отбой, видимо глюк сотового оператора, все ок в общем, код вполне работоспособен.
...
Рейтинг: 0 / 0
Отчет о доставке смс
    #38942274
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оператор не гарантирует как доставку получателю СМС так и доставку отчета об отправке.
...
Рейтинг: 0 / 0
Отчет о доставке смс
    #38942928
korshun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийОператор не гарантирует как доставку получателю СМС так и доставку отчета об отправке.
Знаю, спасибо.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Отчет о доставке смс
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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