[android] 결과를 위해 활동이 호출되었는지 확인

결과를 위해 어떤 활동이 호출되었는지, 사용 startActivityForResult()하는지 또는 사용 만 시작되었는지 알 수 startActivity()있습니까?

결과를 요청하면 동작이 다를 수 있으므로이를 제어해야합니다.



답변

활동이 대상 활동 startActivity()getCallingActivity()메소드에 의해 시작되면 null.

호출되었을 때 startActivityForResult()호출 활동의 이름을 반환합니다.

문서 참조 getCallingActivity():

이 활동을 호출 한 활동의 ​​이름을 반환합니다. 데이터를 setResult()받을 사람 입니다. 이 정보를 사용하여 수신자가 데이터를받을 수 있는지 확인할 수 있습니다.

참고 : 호출 활동이 결과를 기대하지 않는 경우 (즉 startActivityForResult(Intent, int), 요청 코드를 포함하는 양식을 사용하지 않은 경우 ) 호출 패키지는 널이됩니다.

보고

응답을받을 활동의 ComponentName 또는없는 경우 null입니다.


답변