how to receive text sms to specific port..

android

Solution

Thanks for the hint!

I use this and it works:

        <receiver android:name=".SMSReceiver">
        <intent-filter android:priority="10">
        <action android:name="android.intent.action.DATA_SMS_RECEIVED" />
            <data android:scheme="sms" />
            <data android:port="50009" />
        </intent-filter>
    </receiver>

Problem

How to receive text sms to a specific port? I have been looking for an answer to this question but to no avail. This has been asked a few times but nobody seems to have a clear answer. My code is as follows: --MANIFEST FILE-- ``` <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> ``` --SMS sending method-- ``` String messageText = msgTxt.getText().toString(); short SMS_PORT = 15005; SmsManager smsManager = SmsManager.getDefault(); smsManager.sendDataMessage("5556", null, SMS_PORT, messageText.getBytes(), null, null); ``` --Broadcast Receiver 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.. } ``` I also tried to replace `android:name` to `android.provider.Telephony.SMS_RECEIVED` but the result is the same. My application does not receive the SMS on the specified port. Once I remove the following line it works fine: ``` <data android:scheme="sms" /> <data android:host="localhost" /> <data android:port="15005" /> ``` Could you suggest what am I missing?

Original source