我的应用程序有一个静态广播接收器,它可以侦听端口50011上的特定数据短信,以唤醒应用程序并运行。
我在各种Android设备上测试了应用程序(android 2.1 - > android 2.3.4),它运行良好。 但是,我现在正在尝试运行Android 4.0.2的三星Galaxy Nexus,它无法接收二进制短信。 操作系统似乎没有使用该短信,因为它没有在logcat中显示任何相关的消息。
有人熟悉这个问题吗?
这是我在清单中写的接收器部分。
<receiver
android:name=".SmsListener">
<intent-filter android:priority="10" >
<action android:name="android.intent.action.DATA_SMS_RECEIVED" />
<data android:scheme="sms" />
<data android:host="localhost" />
<data android:port="50011" />
</intent-filter>
</receiver>
答案 0 :(得分:1)
事实证明,在用户启动其中一项活动之前,该应用程序不会注册其广播接收器。
在我的情况下,该应用程序不包含任何活动。
我添加了一项活动,它又重新开始了。 :d
感谢大家的帮助。
答案 1 :(得分:0)
您是否在应用android.permission.RECEIVE_SMS
中定义了Manfest
权限?