【问题标题】:Android SMS delivered resultAndroid SMS 发送结果
【发布时间】:2011-11-02 17:10:57
【问题描述】:

我正在为安卓开发一个短信应用。我想保存消息状态(例如,发送时)

但接收方在发送 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)来检查消息是否已真正传递。

提前谢谢你

【问题讨论】:

    标签: android sms report receiver


    【解决方案1】:

    Kannel 将通过您在 SMS 提交中的 dlr-url 参数中指定的 url 向您发送发送报告,例如 example.com/DLR?outgoing_id=123&status=%d。

    你用什么语言写的无关紧要。您所需要的只是一个通过 HTTP GET 接受特定参数的 HTTP 页面。 Kannel 会为发送状态、时间等添加参数,您将通过上面的 id 将它们链接到您的 SMS 提交。

    This discussion有一个明显的例子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多