2011-11-02 3 views
0

Je développe une application SMS pour Android. Et je veux enregistrer l'état du message (ex, à la livraison)Android SMS résultat livré

Mais le récepteur retourne toujours un RESULT_OK lors de l'envoi d'un SMS. Voici le code que je utilise:

 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)); 

Je veux savoir s'il y a un moyen (peut-être avec les arguments Contexte arg0, intention arg1) pour vérifier si le message a été vraiment livré.

Nous vous remercions à l'avance

Répondre

0

Kannel vous renvoyer les rapports de livraison dans l'URL que vous spécifiez dans le paramètre dlr-url dans la soumission de SMS, par exemple example.com/DLR?outgoing_id=123 & status = %ré.

Le langage dans lequel vous l'écrivez n'est pas pertinent. Tout ce dont vous avez besoin est une page HTTP qui accepte des paramètres spécifiques via HTTP GET. Kannel ajoutera des paramètres pour l'état de la livraison, l'heure, et al, et vous les lier à votre soumission SMS via son identifiant comme ci-dessus.

This discussion a un exemple clair.

+0

volé à http://stackoverflow.com/a/4589057/1228 – Will