【发布时间】:2015-05-27 12:55:27
【问题描述】:
我对 KitKat (4.4) 中引入的新 SMS 语义有一点问题:https://developer.android.com/about/versions/android-4.4.html#SMS
我在 Jelly Bean 中开发的应用程序遇到以下情况:
系统收到一条短信,我通过广播接收器监听android.provider.Telephony.SMS_RECEIVED。
我检查 SMS 是否专门针对我的应用程序,如果是,我会中止广播,以便它不会发送到默认的 SMS 接收器应用程序。如果不适合我的应用程序,我不会中止广播,它会进入设备的消息收件箱...
使用新的 KitKat 语义(我的应用程序不是默认 SMS 应用程序)我仍然可以收到 SMS,但我无法中止广播,从而导致我的应用程序特定 SMS 消息登陆默认 SMS 应用程序的收件箱,这不是我想要的。
因此我的问题是是否可以维护我的旧工作流程(从而防止在扫描 SMS 后将 SMS 传递到默认 SMS 应用程序,即旧的 abortBroadcast()-方法)或以其他方式将我的应用程序转换为“默认短信应用程序”,但如果短信不适合我的应用程序,无论如何都可以将其路由到第二个“默认短信应用程序”?
环顾四周并找到其他线程,例如:Abort SMS Intent on Android KitKat 我猜我的第一个选项行不通,所以我希望我的第二个选项(重新路由到另一个接收短信的应用程序)是可行的!
【问题讨论】:
标签: android android-broadcast smsmanager