Est-il possible d'intercepter un SMS provenant d'un certain numéro et de le diriger vers une application spécifique sur l'iPhone/Android où il sera traité? Merci.IPhone/Android Interception et redirection de SMS vers une application
Répondre
Pour Android, la réponse est non. Vous pouvez implémenter un BroadcastReceiver
appelé chaque fois que l'appareil reçoit un SMS mais ne peut pas conserver les autres applications (par exemple, l'application de messagerie intégrée).
Dans Android, vous pouvez enregistrer un BroadcastReceiver
pour être averti qu'un SMS a été reçu, marquer le message comme lu dans le fournisseur de contenu SMS, puis supprimer ce message spécifique du fournisseur de contenu. Cela empêchera toute autre application de pouvoir lire le message une fois que vous l'avez supprimé et qu'aucune notification ne sera affichée dans l'espace de notification. Cela dit, je n'ai aucune idée de ce qui arrivera aux applications qui reçoivent l'Intention, indiquant qu'un message a été reçu mais ne peut pas y accéder dans la base de données. Cela pourrait entraîner un comportement imprévisible en raison d'un certain nombre de conditions de course.
Pour Android, la réponse est Oui.
android.provider.Telephony.SMS_RECEIVED
événement est une diffusion ordonnée et vous pouvez régler la priorité. Cela signifie que votre application recevra l'événement avant tout le monde. Et vous pouvez annuler la diffusion pour le reste des récepteurs de diffusion.
Vous trouverez plus d'informations ici: stackoverflow.com/can-we-delete-an-sms-in-android-before-it-reaches-the-inbox/
Dans Android, une fois que vous avez reçu un message SMS dans votre application, vous pouvez utiliser un objet intention de transmettre les détails du message à une autre activité/application pour un traitement ultérieur . Si vous devez transmettre le message à votre propre application, utilisez la méthode sendBroadcast() pour diffuser l'objet Intent. Dans votre activité, vous devez simplement utiliser la méthode registerReceiver() pour écouter la diffusion.
J'espère que ça aide! Wei-Meng Lee
Oui. C'est possible sur Android. Je le fais dans une application que je développe. Ce que vous devez faire est:
public class SMSService extends BroadcastReceiver {
public static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";
private String phoneNumber;
private String sms;
private Context context;
@Override
public void onReceive(Context context, Intent intent) {
this.context = context;
if (intent.getAction().equals(SMS_RECEIVED)) {
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i = 0; i < msgs.length; i++) {
msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
// get sms message
sms = msgs[i].getMessageBody();
// get phone number
phoneNumber = msgs[i].getOriginatingAddress();
if (phoneNumber.equals("Some other phone number")){
// the sms will not reach normal sms app
abortBroadcast();
Thread thread = new Thread(null,
doBackgroundThreadProcessing, "Background");
thread.start();
}
}
}
}
}
private Runnable doBackgroundThreadProcessing = new Runnable() {
// do whatever you want
};
IMPORTANT: Dans le fichier manifeste, vous devez définir la priorité de SMS avec un nombre élevé. Je crois que le maximum est 100.
<!-- SMS Service -->
<service android:name=".SMSService" />
<receiver android:name=".SMSService">
<intent-filter android:priority="100">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
- 1. Interception de paquets TCP et redirection sous Windows
- 2. ASP.NET MVC: Redirection vers une action sur une application différente
- 3. Service SMS vers serveur
- 4. Redirection vers ET affectation de données à une page externe
- 5. Attraper une redirection directe vers/dev/tty
- 6. Interception et exceptions de l'unité
- 7. implémentation/application d'agrégateur de SMS
- 8. Comment écrire une application SMS dans blackberry?
- 9. Application SMS en PHP
- 10. Unity 2.0 Interception et MethodInvocation.Arguments
- 11. interception et l'unité des constructeurs
- 12. URL de redirection/remappage vers une application Django, en utilisant DNS ou Apache
- 13. StructureMap avec interception et Castle.DynamicProxy
- 14. faire une application sms de bureau en utilisant blackberry
- 15. Faire une interception avec structuremap
- 16. application facebook, redirection continue?
- 17. Rendu/Redirection vers une autre vue à l'aide de portlets
- 18. Interception d'appels de moteur DOM et JS
- 19. .htaccess redirection permanente vers www
- 20. Redirection vers une autre page ne fonctionnant pas en javascript
- 21. Réécriture d'URL et redirection 301 ... Redirige vers l'URL d'origine
- 22. Redirection * .domaine.com & domain.com vers www.domain.com
- 23. Aide à la redirection des domaines .com, .net et .org: redirection de tous vers .com
- 24. cURL, obtenir l'URL de redirection vers une variable
- 25. Redirection vers une page à partir du menu de sélection
- 26. Redirection vers une page spécifiée dans un gridview dans asp.net
- 27. Sortie du processus de redirection vers stdout
- 28. Redirection de servlet vers des domaines Unicode
- 29. Redirection vers la page de connexion
- 30. Redirection de public_html vers public_html/new/
La valeur maximale pour Android: la priorité est 1000. Voir ici: http://developer.android.com/guide/topics/manifest/intent-filter-element.html –