我提供了两个PendingIntent要传递给的类型的对象SmsManager.sendDataSms().这两个pendingIntents用于稍后触发服务.
根据文件:
当消息成功发送或失败时,将广播此PendingIntent.结果代码为Activity.RESULT_OK
问题是如何在我的服务中检索这个"结果代码"?
基本上,除了Activity(通过onActivityResult()或某些东西)之外,没有任何应用程序组件有一个平均值来检索传递给不同变体的"结果代码" PendingIntent.send().
首先,至少在我看来,服务的 resultCode 没有多大意义,因为我认为它是一个独立的过程。再说一遍,这只是我的观点。
其次,BroadcastReceiver 的 getResultCode() 的文档说:
Retrieve the current result code, as set by the previous receiver.
Run Code Online (Sandbox Code Playgroud)
这意味着对服务没有的早期接收器的依赖。
正如我在问题评论中所建议的,我认为解决方法是在服务内注册一个 BroadcastReceiver。
对您的评论的最后说明:
然而,我(我相信很多其他人)仍然想知道是否有一种方法可以从服务内部检索结果代码。如果没有,为什么文档中没有明确提到这样的事情?
事实上,文档没有说明您可以在服务中获取 resultCode,这很好地表明这是不可能的。此外,明确记录某些代码无法执行的操作的情况相当罕见。
| 归档时间: |
|
| 查看次数: |
919 次 |
| 最近记录: |