确定android活动是否已打开;“为结果”;
在某些情况下,我希望我的活动(活动A)设置为确定android活动是否已打开;“为结果”;,android,android-intent,android-activity,bundle,Android,Android Intent,Android Activity,Bundle,在某些情况下,我希望我的活动(活动A)设置为setResult,而在其他情况下,我希望我的活动设置为startActivity,并在调用finish自身时发送带有一些参数的意图 我可以通过使用一些bundle参数启动此活动A来解决此问题,如果该参数存在,则setResultelsestartActivity,但现在我想知道是否有任何方法来检查它最初是如何启动的 是否有方法确定是否为结果启动了我的活动a?调用getCallingActivity()将使用startActivityForResult
setResult
,而在其他情况下,我希望我的活动设置为startActivity
,并在调用finish自身时发送带有一些参数的意图
我可以通过使用一些bundle参数启动此活动A来解决此问题,如果该参数存在,则setResult
elsestartActivity
,但现在我想知道是否有任何方法来检查它最初是如何启动的
是否有方法确定是否为结果启动了我的活动a?调用
getCallingActivity()
将使用startActivityForResult(…)
返回调用您的活动的活动。如果getCallingActivity()
为空,则可以假定您的活动已正常启动(预期没有结果)
前
调用
getCallingActivity()
将返回使用startActivityForResult(…)
调用您的活动的活动。如果getCallingActivity()
为空,则可以假定您的活动已正常启动(预期没有结果)
前
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();
}