Android СМС доставил результат - PullRequest
0 голосов
/ 02 ноября 2011

Я разрабатываю приложение SMS для Android.И я хочу сохранить состояние сообщения (например, при доставке)

Но при отправке SMS получатель всегда возвращает RESULT_OK.Вот код, который я использую:

        Main.context.registerReceiver(new BroadcastReceiver() {
        @Override
        public void onReceive(Context arg0, Intent arg1) {
            switch (getResultCode()) {
            case Activity.RESULT_OK:

                Main.log("SMS delivered");
                LogThread logThreadEntregado = new LogThread(main, smsId);
                logThreadEntregado.setEntregado();
                Thread t6 = new Thread(logThreadEntregado);
                // t6.run();
                Main.mHandler.post(t6);
                Main.context.unregisterReceiver(this);
                break;
            case Activity.RESULT_CANCELED:
                Main.log("SMS not delivered");
                LogThread logThreadNoEntregado = new LogThread(main, smsId);
                logThreadNoEntregado.setNoEntregado();
                Thread t7 = new Thread(logThreadNoEntregado);
                Main.mHandler.post(t7);
                Main.context.unregisterReceiver(this);
                // t7.run();
                break;
            }
        }
    }, new IntentFilter(DELIVERED));

Я хочу знать, есть ли способ (возможно, с аргументами Context arg0, Intent arg1) проверить, действительно ли сообщение доставлено.

Заранее спасибо

1 Ответ

0 голосов
/ 02 ноября 2011

Kannel отправит вам отчеты о доставке по URL-адресу, указанному в параметре dlr-url при отправке SMS, например, example.com/DLR?outgoing_id=123&status=%d.

.

На каком языке вы это пишете, не имеет значения. Все, что вам нужно, это страница HTTP, которая принимает определенные параметры через HTTP GET. Kannel добавит параметры для статуса доставки, времени и т. Д., И вы свяжете их с отправкой SMS через его идентификатор, как указано выше.

Это обсуждение имеет четкий пример.

...