如何将文本短信接收到特定端口?我一直在寻找这个问题的答案,但无济于事.这已被问过几次,但似乎没有人有明确的答案.我的代码如下:
- 管理文件 -
<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>Run Code Online (Sandbox Code Playgroud)
--SMS发送方式 -
String messageText = msgTxt.getText().toString();
short SMS_PORT = 15005;
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendDataMessage("5556", null, SMS_PORT, messageText.getBytes(), null, null); Run Code Online (Sandbox Code Playgroud)
- 广播接收器代码 -
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..
}Run Code Online (Sandbox Code Playgroud)
我也尝试替换android:name,android.provider.Telephony.SMS_RECEIVED但结果是一样的.
我的应用程序未在指定端口上收到SMS.删除以下行后,它可以正常工作:
<data android:scheme="sms" />
<data android:host="localhost" />
<data android:port="15005" /> Run Code Online (Sandbox Code Playgroud)
你能说一下我错过了什么吗?
谢谢你的提示!
我用这个并且它有效:
<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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14549 次 |
| 最近记录: |