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