Android 在没有startActivityForResult/onActivityResult的情况下向主/调用活动发送数据?

Android 在没有startActivityForResult/onActivityResult的情况下向主/调用活动发送数据?,android,Android,是否有可能将数据发送到主/调用活动,而不发送?startActivityForResult/onActivityResult?我开始一个活动,并不期望它会有结果。但是在某些情况下,我想通知调用的活动,启动的活动没有完成它的工作 由于我不希望活动无法完成它的工作,我认为startActivityForResult/onActivityResult是错误的方法。作为一种方法,您应该使用 startActivityForResult/onActivityResult 但是,如果您希望使用另一种方法,

是否有可能将数据发送到主/调用
活动
,而不发送?
startActivityForResult/onActivityResult
?我开始一个
活动
,并不期望它会有结果。但是在某些情况下,我想通知调用的
活动
,启动的
活动
没有完成它的工作


由于我不希望
活动
无法完成它的工作,我认为
startActivityForResult/onActivityResult
是错误的方法。

作为一种方法,您应该使用

startActivityForResult/onActivityResult

但是,如果您希望使用另一种方法,您可以使用
SharedReferences
来存储被调用的活动可以设置的标志或密钥对值,调用的活动可以检查这些标志或密钥对值。

您可以将其中一个传递到Intent extras:Messenger,ResultReceiver或custom BinderI如果有人能够解释他们的否决票,我将不胜感激。老实说,如果您的子活动从未返回,那么您的父活动将永远不会被看到,这可能是否决票的原因?但如果子活动无法完成其工作,则会返回。例如,如果用户不小心按了回键,那么我每次都必须检查
共享引用。因此,应用程序大部分时间都在做不必要的工作。但是似乎除了
startActivityForResult/onActivityResult
或使用
SharedReferences
或类似的解决方法之外,没有其他方法了。好吧,您不会检查
SP
“总是”,而只是在调用新活动以及调用方活动的onResume()时才检查。但是既然您不赞成,为什么不在被调用的活动中创建一个
接口
,让调用方活动实现它,然后传递对被调用活动的引用。@Kurztipp我给了您三个解决方案,您尝试过吗?@Kurztipp好的,第二个:Binder是个愚蠢的主意,它也可以工作,但它需要api 18+并且在某些方面比较复杂use@Kurztipp第三种方法(带活页夹)可以使用AIDL简化很多。。。我没有测试它,但它的工作方式应该与服务辅助工作方式完全相同