2010-09-24 4 views
0

Possible en double:
Can we delete an SMS in Android before it reaches the inbox?Android: Recevoir un SMS à partir d'un nombre défini d'une manière invisible

Dans mon application Android qui fonctionne maintenant très bien, je suis l'envoi de SMS personnalisé à partir un utilisateur à l'autre.

Une fois que je détecte que les SMS proviennent de mon application, je fais mes affaires avec le message et tout fonctionne bien. Mais maintenant, je ne veux pas que l'application SMS détecte ce message car il est totalement inutile pour l'utilisateur.

Donc ce que je voudrais faire: Dès que je reçois, je reçois le texte et éviter le système pour l'obtenir (ou au moins arrêter la notification pour ce message)

Toute idée sur la façon de faire?

Voici mon code actuel:

(EDIT: Désolé pour la mise en forme, je ne peux pas comprendre comment ce travail)

public class SmsReceiver extends BroadcastReceiver { 

@Override 

public void onReceive(Context context, Intent intent) { 

// ---get the SMS message passed in--- 

Bundle bundle = intent.getExtras(); 

SmsMessage[] msgs = null; 

String str = ""; 

if (bundle != null) { 

// ---retrieve the SMS message received--- 

Object[] pdus = (Object[]) bundle.get("pdus"); 

msgs = new SmsMessage[pdus.length]; 

String number = ""; 

String body = ""; 

for (int i = 0; i < msgs.length; i++) { 
    msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]); 
    number = msgs[i].getOriginatingAddress(); 
    body = msgs[i].getMessageBody().toString(); 
    str += "SMS from " + number; 
    str += " :"; 
    str += body; 
    str += "\n"; 
    } 
If(detectIfSmsComeFromMyApplication) 
// DELETE MESSAGE AND AVOID BROADCAST. 
// MAKE IT INVISIBLE TO USER 

}

} }

+0

Voir en double. Comme on le voit là-bas, c'est une très mauvaise idée puisque certaines personnes paient 10 ou 12 cents par SMS. Cela pourrait devenir très cher très rapidement sans qu'ils le réalisent. –

Répondre