2011-11-02 507 views
0

我正在爲android開發短信應用程序。並且我想保存消息狀態(例如,當發送時)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)); 

我想知道是否有一種方法(可能與參數上下文爲arg0,ARG1意向),以檢查是否該消息已被果然不負衆望。

預先感謝您

回答

0

的Kannel將你送回你在短信提交DLR-url參數指定的URL發送報告,例如example.com/DLR?outgoing_id=123 &狀態= %d。

你寫什麼語言是無關緊要的。您只需要一個HTTP頁面,通過HTTP GET接受特定的參數。 Kannel會爲交付狀態,時間等添加參數,並且您將通過上面的id將它們鏈接到您的SMS提交。

This discussion有一個明顯的例子。

+0

從http://stackoverflow.com/a/4589057/1228盜取 – Will