comment recevoir des SMS sur un port spécifique
La façon de recevoir des sms à un port spécifique? J'ai été à la recherche d'une réponse à cette question, mais en vain. Cela a été demandé à quelques reprises, mais personne ne semble avoir de réponse claire. Mon code est comme suit:
--LE FICHIER MANIFEST--
<receiver android:name=".SMSRecieve" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.DATA_SMS_RECEIVED"/>
<data android:scheme="sms" />
<data android:host="localhost" />
<data android:port="15005" />
</intent-filter>
</receiver>
--Envoi de SMS méthode--
String messageText = msgTxt.getText().toString();
short SMS_PORT = 15005;
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendDataMessage("5556", null, SMS_PORT, messageText.getBytes(), null, null);
--Récepteur de radiodiffusion code--
static final String ACTION = "android.intent.action.DATA_SMS_RECEIVED";
//static final String ACTION = "android.provider.Telephony.SMS_RECEIVED";(tried this too, but failed)
if (intent.getAction().equals(SMSNotifyExample.ACTION)) {
...do some work..
}
J'ai aussi essayé de remplacer android:name
à android.provider.Telephony.SMS_RECEIVED
mais le résultat est le même.
Ma demande de ne pas recevoir les SMS sur le port spécifié. Une fois que j'ai supprimer la ligne suivante, il fonctionne très bien:
<data android:scheme="sms" />
<data android:host="localhost" />
<data android:port="15005" />
Pourriez-vous suggérer ce qui me manque?
source d'informationauteur Umesh | 2010-04-28
Vous devez vous connecter pour publier un commentaire.
Merci pour l'astuce!
J'utilise et ça marche:
[REMARQUE: Le code que j'ai mentionnés ci-dessous ne fonctionne pas sur l'émulateur, mais avec succès sur mon LG P350 avoir Android V2.3]
J'ai utilisé la démo de code donné sur mobiForge mais ils ont changé le sendTextMessage() à sendDataMessage() avec PORT_NO comme 8901 (également converti en texte données de byte[] data).
Mon récepteur est:
Un exemple de travail est KRVarma de SMSDemo qui est également fonctionnelle.