是否有可能知道是否已经使用startActivityForResult()
或是仅使用来开始某些活动以求结果startActivity()
?
我需要控制它,如果它要求结果,行为将有所不同。
Answers:
当您的活动仅由目标活动中的startActivity()
一种getCallingActivity()
方法启动时,将返回null
。
当它被调用时,startActivityForResult()
将返回调用活动的名称。
请参阅文档getCallingActivity()
:
返回调用该活动的活动的名称。这是将数据
setResult()
发送到的人。您可以使用此信息来验证是否允许接收者接收数据。注意:如果调用活动不期望结果(即未使用
startActivityForResult(Intent, int)
包含请求代码的表单),则调用包将为null。退货
将会收到您答复的活动的ComponentName;如果没有,则为null。
getActivity().startActivityFor…
不必startActivityForResult
直接从片段中进行调用。