问题描述
构建自定义消息应用程序,并且彩信不会存储在提供程序中(即,telephony.mms.inBox、mms.part 等)当自定义应用程序设置为默认消息应用程序时强>。关于如何在使用不同的消息应用程序(即,不是开箱即用的内置于设备的应用程序)时如何存储/检索接收到的 MMS 类型的消息的任何想法? 就好像设备确认它收到了一条消息,但因为它是 MMS 类型,并且默认应用程序未设置为标准的“消息应用程序”,它对接收到的 mms 不做任何事情(但它确实按预期存储了 sms--我不知道为什么它对 MMS 不这样做),当我需要它将数据存储到适当的电话服务提供商以便以后检索时。
我知道我正在接收它们,因为我可以在我的广播接收器上看到 mms 来自谁(稍微挖掘一下)但是在广播时与 intent.extras bundle("data") byteArray 相关的数据很少接收器被触发。是否有一个设置说“将 mms 存储到所需的电话服务提供商中”,但我遗漏了它。这甚至可能吗?任何帮助将不胜感激。
private val ACTION_MMS_DELIVERED = "android.provider.Telephony.WAP_PUSH_DELIVER"
private val ACTION_MMS_RECEIVED = "android.provider.Telephony.WAP_PUSH_RECEIVED"
private val MMS_DATA_TYPE = "application/vnd.wap.mms-message"
override fun onReceive(context: Context?,intent: Intent?) {
if (intent == null || context == null) return
if (!checkAction(intent)) return
if (intent.type !== MMS_DATA_TYPE) {
val bundle = intent.extras as Bundle
if (bundle.isEmpty) return
val buffer = bundle.getByteArray("data") ?: return
var incomingNumber = String(buffer)
... 我可以从“数据”中获取电话号码和内容位置,但是在查询彩信/收件箱时,彩信消息不存在...
非常感谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)