onActivityResult 不适用于 android:launchMode="singleTask"
onActivityResult not working with android:launchMode="singleTask"
我从 Activity-A 调用 Activity-B 需要 android:launchMode="singleTask"在 Activity-B 和 onActivityResult 在 Activity-A.
当 Activity-B 完成时,onActivityResult 在 Activity-A 中遇到问题 onActivityResult in Activity-A不执行.
检查documentation onActivityResult()
:
" [...] For example, if the activity you are launching uses the singleTask launch mode, it will not run in your task and thus you will immediately receive a cancel result."
因为 Activity-B 是一个 singleTask 恐怕你不能 return 它的结果,如文档所述:
For example, if the activity you are launching uses the singleTask launch mode,
it will not run in your task and thus you will immediately receive a cancel result.
所以你不能 return 它的结果,如果你需要 Activity-B 是 singleTask 就没有办法绕过它。
因为你自己开发了 Activity-B 你可以做一些小的改变并让它发送一个 broadcast 结果和 Activity -A 然后可以列出此广播并获得结果。
我从 Activity-A 调用 Activity-B 需要 android:launchMode="singleTask"在 Activity-B 和 onActivityResult 在 Activity-A.
当 Activity-B 完成时,onActivityResult 在 Activity-A 中遇到问题 onActivityResult in Activity-A不执行.
检查documentation onActivityResult()
:
" [...] For example, if the activity you are launching uses the singleTask launch mode, it will not run in your task and thus you will immediately receive a cancel result."
因为 Activity-B 是一个 singleTask 恐怕你不能 return 它的结果,如文档所述:
For example, if the activity you are launching uses the singleTask launch mode, it will not run in your task and thus you will immediately receive a cancel result.
所以你不能 return 它的结果,如果你需要 Activity-B 是 singleTask 就没有办法绕过它。
因为你自己开发了 Activity-B 你可以做一些小的改变并让它发送一个 broadcast 结果和 Activity -A 然后可以列出此广播并获得结果。