【问题标题】:Android ICS not receiving data smsAndroid ICS 没有收到数据短信
【发布时间】:2019-05-30 20:00:38
【问题描述】:

我的应用程序有一个静态广播接收器,它侦听端口 50011 上的特定数据短信以唤醒应用程序并运行。

我在各种 android 设备(android 2.1 -> android 2.3.4)上测试了该应用程序,它运行良好。 但是,我现在正在运行 Android 4.0.2 的三星 Galaxy Nexus 上尝试它,但它无法接收二进制短信。 操作系统似乎没有使用该 SMS,因为它没有在 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>

【问题讨论】:

  • android.intent.action.DATA_SMS_RECEIVED 是官方 API 的一部分吗?
  • 我确定它是 api 的一部分,我很快就会告诉你
  • 我在这里找不到它:developer.android.com/reference/android/… 所以它不是官方 api 的一部分?
  • 我是这么认为的......这就是为什么它可以在新的android版本中停止工作

标签: android sms broadcastreceiver android-4.0-ice-cream-sandwich


【解决方案1】:

事实证明,应用程序在用户启动其中一项活动之前不会注册其广播接收器。

在我的情况下,该应用不包含任何 Activity。

我添加了一个活动,它又开始工作了。 :D

感谢大家的帮助。

【讨论】:

    【解决方案2】:

    您是否在您的应用程序Manfest 中定义了android.permission.RECEIVE_SMS 权限?

    【讨论】:

    • 是的,我已经添加了该权限,并且它适用于以前的操作系统版本
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多