以编程方式发送短信(未获得发送状态)

时间:2012-10-03 02:29:54

标签: android android-intent sms

  

可能重复:
  Programatically send SMS Android (Not receiving status)

我逐字逐句地使用this code example,除了我改变了

这一事实
   import android.telephony.gsm.SmsManager;

   import android.telephony.SmsManager;

SMS正在发送正常但是我没有收到它已发送(发送到网络)的TOAST消息。我正在尝试将SMS集成到我的应用程序中,这很重要。我确信这可以做到,因为股票短信应用程序还知道何时停止显示“发送圈”。相关代码部分如下:

    //---when the SMS has been delivered---
    registerReceiver(new BroadcastReceiver(){
        @Override
        public void onReceive(Context arg0, Intent arg1) {
            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));        

我正在使用Jelly Bean ROM,但我相信我前一段时间在Gingerbread和ICS上测试了这个相同的片段,结果相同。 API是否已更改或样本存在问题?如果有帮助,我正在测试Sasmsung GSIII。我的旧测试是在史诗上。

1 个答案:

答案 0 :(得分:2)

使用Toast进行测试会使事情混乱,因为根据情况,可能不会引发Toast通知。尝试将其更改为Log调用或使用调试器来查看该部分是否被调用。