如何从启动服务的PendingIntent中检索结果代码?

Jos*_*ani 5 android

我提供了两个PendingIntent要传递给的类型的对象SmsManager.sendDataSms().这两个pendingIntents用于稍后触发服务.

根据文件:

当消息成功发送或失败时,将广播此PendingIntent.结果代码为Activity.RESULT_OK

问题是如何在我的服务中检索这个"结果代码"?

基本上,除了Activity(通过onActivityResult()或某些东西)之外,没有任何应用程序组件有一个平均值来检索传递给不同变体的"结果代码" PendingIntent.send().

cYr*_*ten 1

首先,至少在我看来,服务的 resultCode 没有多大意义,因为我认为它是一个独立的过程。再说一遍,这只是我的观点。

其次,BroadcastReceiver 的 getResultCode() 的文档说:

Retrieve the current result code, as set by the previous receiver.
Run Code Online (Sandbox Code Playgroud)

这意味着对服务没有的早期接收器的依赖。

正如我在问题评论中所建议的,我认为解决方法是在服务内注册一个 BroadcastReceiver。

对您的评论的最后说明:

然而,我(我相信很多其他人)仍然想知道是否有一种方法可以从服务内部检索结果代码。如果没有,为什么文档中没有明确提到这样的事情?

事实上,文档没有说明您可以在服务中获取 resultCode,这很好地表明这是不可能的。此外,明确记录某些代码无法执行的操作的情况相当罕见。