在Android应用程序中未检测到传入的彩信



我正在开发一款Android应用程序,该应用程序应该检测传入的短信和彩信,并进行一些后续操作。我能够毫无问题地实现短信部分,但当涉及到MMS时,应用程序无法检测到它们。

我在清单文件中有以下几行:

<receiver
android:name="com.library.MmsReceiver"
android:permission="android.permission.BROADCAST_WAP_PUSH">
<intent-filter>
<action android:name="android.provider.Telephony.WAP_PUSH_DELIVER"
android:priority="1" />
<data android:mimeType="application/vnd.wap.mms-message" />
</intent-filter>
</receiver>

此外,我正在请求以下MMS权限:

<uses-permission android:name="android.permission.RECEIVE_MMS" />
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" />

接收器类以以下方式声明:

class MmsReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
Log.d(MmsReceiver::class.java.simpleName, "onReceive: MMS RECEIVED")
}
}

当我收到彩信时,我希望在控制台中看到上面的日志,但什么都没有显示。

我查看了StackOverflow上的其他帖子,如在Android上检测彩信、在Android中发送和接收短信和彩信(Kit Kat Android 4.4之前(或如何在Android上读取传入的彩信和短信,但没有任何帮助。

我是否缺少任何配置步骤?任何帮助都将不胜感激。

文档说:

WAP_PUSH_DELIVER_ACTION广播操作:设备收到一条新的WAP PUSH消息此意向将仅发送到默认的短信应用程序

试试这个:

WAP_PUSH_RECEIVED_ACTION广播操作:设备收到一条新的WAP PUSH消息此意向将作为通知发送给所有注册的接收者

最新更新