在某些情况下,我希望我的活动(活动A)到setResult
,有时我希望我的活动到startActivity
,并在调用完成时发送一些带有参数的意图。
我可以通过使用一些捆绑参数启动此活动A来解决此问题,如果该参数存在,则setResult
其他startActivity
但是现在我很好奇是否有任何方式检查它的意图是从第一个地方开始的
有没有办法确定我的活动A是否已为结果启动?
答案 0 :(得分:5)
致电getCallingActivity()
将使用startActivityForResult(...)
返回调用您活动的活动。如果getCallingActivity()
为空,则可以假设您的活动正常启动(无预期结果)
getCallingActivity documentation
实施例
ComponentName callingComponent = getCallingActivity();
if (callingComponent == null) // result not expected
{
Intent intent = new Intent(this, ActivityB.class);
// set your intent extras here
startActivity(intent);
} else { //result expected
Intent intent = new Intent();
// set your intent extras here
setResult(RESULT_OK, intent);
finish();
}