Autore Topic: Invio SMS disabilitando notifica consegna  (Letto 1148 volte)

Offline mirko.ugolini

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY S I9000
  • Sistema operativo:
    Windows Vista 32Bit
Invio SMS disabilitando notifica consegna
« il: 10 Dicembre 2011, 10:45:39 CET »
0
Buon Giorno a tutti,

spero di non essere OT.

Il mio problema è il seguente...

Ho realizzato un'App per il controllo remoto di un dispositovo hardware tramite SMS.
Utilizzo un Galaxy s i9000 sul quale dalla applicazione di default di invio SMS "Messaggi" ho tolto la spunta sulla ricezione delle notifiche di consegna ed infatti se utilizzo l'invio di SMS trami l'app Nativa non ricevo le notifiche.

Se invece utilizzo il mio codice si.

Come è possibile?

C'è un modo per disattivare in modo programmatico tale opzione?


il mio codice è il seguente:



private void sendSMS(String phoneNumber, String message) {   
          //http://mobiforge.com/developing/story/sms-messaging-android
      
          
           String SENT = "SMS_SENT";
           String DELIVERED = "SMS_DELIVERED";
   
           PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
   
           PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,new Intent(DELIVERED), 0);
   
          
           //---when the SMS has been sent---
           registerReceiver(new BroadcastReceiver(){
              
              @Override
               public void onReceive(Context arg0, Intent arg1) {
                   switch (getResultCode())
                   {
                       case Activity.RESULT_OK:
                           Toast.makeText(getBaseContext(), "SMS sent",
                                   Toast.LENGTH_SHORT).show();
                           break;
                       case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                           Toast.makeText(getBaseContext(), "Generic failure",
                                   Toast.LENGTH_SHORT).show();
                           break;
                       case SmsManager.RESULT_ERROR_NO_SERVICE:
                           Toast.makeText(getBaseContext(), "No service",
                                   Toast.LENGTH_SHORT).show();
                           break;
                       case SmsManager.RESULT_ERROR_NULL_PDU:
                           Toast.makeText(getBaseContext(), "Null PDU",
                                   Toast.LENGTH_SHORT).show();
                           break;
                       case SmsManager.RESULT_ERROR_RADIO_OFF:
                           Toast.makeText(getBaseContext(), "Radio off",
                                   Toast.LENGTH_SHORT).show();
                           break;
                   }
               }
           }, new IntentFilter(SENT));
   
          
          
           //---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)); 
          
   
           SmsManager sms = SmsManager.getDefault();
          
           sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);   
          
      }






Grazie in anticipo


Mirko Ugolini


Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Invio SMS disabilitando notifica consegna
« Risposta #1 il: 10 Dicembre 2011, 13:27:40 CET »
0
hai un pending intent alla voce delivered = consegnato...
sent = inviato
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline mirko.ugolini

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    GALAXY S I9000
  • Sistema operativo:
    Windows Vista 32Bit
Re:Invio SMS disabilitando notifica consegna
« Risposta #2 il: 10 Dicembre 2011, 22:10:12 CET »
0
Ciao Nicola,

Grazie per la risposta.

Quindi tu dici che il problema è legato principalmente al fatto che ho registrato un. pending intent su quell' evento?

ora sono fuori appena rientro provo subito.

No vorrei però che non registrando l'intent non percepissi  l`evento ma l SMS mi arrivi comunque è quindi contuni a pagare SMS a prezzo duplicato.


« Ultima modifica: 12 Dicembre 2011, 23:03:04 CET da mirko.ugolini »