Je travaille sur une application simple pour le HTC EVO qui fait clignoter le voyant de notification alternatif lorsqu'un nouveau message texte est reçu. J'ai cette partie fonctionne très bien via un récepteur de diffusion, mais j'ai besoin d'un moyen d'éteindre la LED lorsque l'utilisateur a lu le message (s) en utilisant leur application SMS par défaut. Je ne suis pas sûr s'il est préférable de le faire dans le récepteur ou dans un service d'arrière-plan. J'ai trouvé this, qui pourrait être ce que je cherche, mais je n'ai aucune idée sur la façon de l'utiliser car je ne pouvais pas trouver des instructions ou des tutoriels.Vérifier si un nouveau SMS a été lu
Répondre
Très bien, j'ai élaboré le code suivant qui, je pense, répondra à mes besoins.
private int getUnreadSMSCount()
{
int count = 0;
Uri smsURI = Uri.parse("content://sms");
ContentResolver contentResolver = this.getContentResolver();
Cursor cursor = contentResolver.query(smsURI, null, "read=0", null, null);
if (cursor != null)
{
try
{
count = cursor.getCount();
}
finally
{
cursor.close();
}
}
return count;
}
Malheureusement, je ne crois pas qu'il existe un moyen de le faire.
Lorsque votre BroadcastReceiver
reçoit le Intent
, il s'agit d'une copie de la Intent
, même avec l'application SMS par défaut. Vous avez donc chacun des copies du message indépendantes l'une de l'autre.
Vous pouvez définir votre propre copie du message à lire, mais vous ne pourrez pas voir son statut dans l'application SMS par défaut. En outre, l'application par défaut n'envoie pas une diffusion que le message a été lu, toutes ces données sont conservées localement. La seule façon de mettre en œuvre ceci serait d'écrire un remplacement complet de l'application de messagerie.
Désolé, j'espère que cela aide, laissez-moi savoir si vous avez d'autres questions.
- 1. Comment vérifier si session_start a été entré?
- 2. JSTL: Vérifier si Envoyer a été cliqué
- 3. tordu: vérifier si un différé a déjà été appelé
- 4. document.getElementById - vérifier si un élément a été trouvé ou non
- 5. Comment vérifier si l'application iPhone a été installée auparavant?
- 6. Quelle est la meilleure façon de stocker si un élément rss a été lu ou non
- 7. Comment vérifier si une variable a été initialisée?
- 8. Comment puis-je vérifier si une structure a été initialisée?
- 9. Programmatically vérifier si le calendrier a été rendu
- 10. fichier batch Windows - vérifier si le fichier a été modifié
- 11. Vérifier si le contenu a déjà été envoyé en PHP
- 12. onunload - Vérifier si le formulaire a été soumis
- 13. Dans OpenOffice, comment vérifier si mon XComponentContext a été fermé?
- 14. Comment vérifier si le WaitHandle a été défini?
- 15. Javascript - vérifier si le prototype de méthode a été changé?
- 16. Vérifier si le fichier javascript a été chargé
- 17. Comment vérifier si une touche a été enfoncée sous Linux?
- 18. Comment vérifier si une image a été préchargée correctement?
- 19. Vérifier/vérifier si un profil de configuration a été installé sur l'iPhone
- 20. vérifier si EndExecuteNonQuery a réussi
- 21. Test si un objet a été désalloué
- 22. Comment vérifier si un FileField a été modifié dans l'Admin de Django?
- 23. Comment vérifier si un assemblage a changé
- 24. Vérifier si un objet a le focus
- 25. GAE/JDO: Comment vérifier si un champ dans un objet détaché a été chargé
- 26. Comment puis-je vérifier si un 'Review' a déjà été écrit par un @current_user donné?
- 27. Existe-t-il un moyen de vérifier si un NSLock a été acquis?
- 28. Test si JavaScript a été modifié
- 29. Comment savoir si un formulaire a été modifié
- 30. comment détecter si tfilestream a été libéré?
Ceci est en fait possible, voir le code I récemment. –