2010-09-24 6 views
0

J'écris ma propre application SMS qui affichera un toast de mon message une fois arrivé. Maintenant, est-il possible de supprimer le message après l'affichage du toast, de sorte qu'il ne va pas dans l'application SMS native?Supprimer les SMS après l'affichage

Merci à l'avance, Perumal

Répondre

1

Utilisez BroadcastReceiver pour piéger le SMS entrant. Lisez le corps du message et rangez-le quelque part ou montrez-le dans le Toast que vous avez mentionné. Utilisez le code suivant pour supprimer les SMS dans votre boîte de réception.

Il sera supprimé immédiatement.

ContentResolver cr = _context.getContentResolver();

Uri inbox = Uri.parse("content://sms/inbox"); 
    Cursor cursor = cr.query(
     inbox, 
     new String[] { "_id", "thread_id", "body" }, 
     null, 
     null, 
     null);do {   
     String body = cursor.getString(2);    
     long thread_id = cursor.getLong(1); 
     Uri thread = Uri.parse("content://sms/conversations/" + thread_id); 
     cr.delete(thread, null, null); 
     count++; 

    } while (cursor.moveToNext()); 
+0

Dois-je ajouter des autorisations dans le manifeste Android? Parce que j'ai inclus ce code et mon application continue de s'afficher en se plantant, "L'application s'est arrêtée de manière inattendue." Ou est-ce parce que je le fais de BroadcastReceiver? – perumal316

+0

android.permission.READ_SMS et android.permission.WRITE_SMS. Si cela ne résout pas le problème, pensez à coller la trace de la pile. – Umesh

Questions connexes