2010-04-15 7 views
1

Actuellement, je suis en utilisant ContentObserver sur le Uritraçage SMS sortant

ContentResolver contentResolver = context.getContentResolver(); 
SMSObserver m_SMSObserver = new SMSObserver(context); 
contentResolver.registerContentObserver(Uri.parse("content://sms"), true, m_SMSObserver); 

dans cette méthode de manière onChange appel dans les deux cas i.e. sms entrants et sortants. mais j'en ai besoin que des SMS sortants. et il est à noter que

Uri.parse("content://sms/sent") 
Uri.parse("content://sms/outbox") 

ne fonctionne pas bien vouloir me aider comment je peux tracer le message sortant.

thankz.

+1

Quelle langue/bibliothèques/cadre/matériel utilisez-vous? –

+0

Je l'ai étiqueté android et java comme Google googling les méthodes Android est venu pour chacun d'eux, fait aussi sens dans le fait qu'il est SMS. – ewanm89

+0

Aucun des fournisseurs de contenu 'content: // sms' ne fait partie du SDK Android. Votre application va casser sur les téléphones existants. Votre application peut casser sur les futures versions d'Android. Merci de ne pas les utiliser. – CommonsWare

Répondre

0

Pour ceux qui cherchent toujours la réponse ...

Je n'ai pas compris l'URI correct pour analyser uniquement les messages sortants, mais une bonne façon de distinguer un sortant d'un message entrant est d'utiliser la type du message.

Si le type est 2, alors il est un message sortant, et si elle est 1, il est un message entrant.

Cursor cur = context.getContentResolver().query(Uri.parse("content://sms"), 
        null, null, null, null); 

int type = cur.getInt(cur.getColumnIndex("type")); 
if(type == 1){ 
    //Processing the incoming message 
}else if(type == 2){ 
    //Processing the outgoing message 
}