Mat*_*adt 4 sms android broadcast broadcastreceiver android-intent
在线程中如何监控每个已发送的SMS状态?它描述了如何通过广播监控发送/发送的SMS的状态.
但是,我还没有找到:你如何识别广播所属的短信?据我所知,getResultData()和getResultExtras()似乎没有任何信息.
我的用例是:我一个接一个地循环发送多个短信.我想监控每条消息的传递状态/成功.我如何知道哪个广播属于哪个消息.(延迟每个短信的传送,直到我为每个短信播放广播,这不是一个真正的选择).
马蒂亚斯,
参考您链接的问题中的代码.当您创建Intent要由PendingIntent它启动而不是仅仅给它一个动作时,String您可以添加一个额外的,以帮助确定它属于哪个SMS ...
Intent sentIntent = new Intent(SENT);
sentIntent.putExtra("smsNumber", someValue);
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, sentIntent, FLAG_UPDATE_CURRENT);
Intent deliveredIntent = new Intent(DELIVERED):
deliveredIntent.putExtra("smsNumber", someValue);
PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, deliveredIntent, FLAG_UPDATE_CURRENT);
Run Code Online (Sandbox Code Playgroud)
这样你就可以检索到里面的"smsNumber"值 BroadcastReceiver
希望这可以帮助!
由Mathias Lin编辑:重要的是你传递带有挂起意图的标志FLAG_UPDATE_CURRENT,以便附加内容传递并实际到达广播.
| 归档时间: |
|
| 查看次数: |
3319 次 |
| 最近记录: |