如何接收到特定端口的文本短信?我一直在尋找這個問題的答案,但無濟於事。這已被問了幾次,但似乎沒有人有明確的答案。我的代碼如下:如何接收到特定端口的文本短信。
--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發送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接收機代碼 -
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..
}
我也嘗試將android:name
更換爲android.provider.Telephony.SMS_RECEIVED
,但結果相同。
我的應用程序沒有收到指定端口上的SMS。一旦我刪除以下行它工作正常:
<data android:scheme="sms" />
<data android:host="localhost" />
<data android:port="15005" />
你能建議我缺少什麼?
有這個問題的賞金。我真的需要這個答案,所以我希望有人看到它,並有一個答案。 – 2010-09-23 02:39:45