'AndroidFLAG_ACTIVITY_NEW_TASK'에 해당되는 글 1건

  1. 2023.03.15 Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK 오류
Android2023. 3. 15. 09:16

안드로이드 앱 개발 중 '앱 평가하기' 버튼을 놓고

구글 플레이스토어로 연결되게 인텐트를 설정했는데..저런 에러가 나는것이 아닌가..

 

 

 

 

오류 메시지인 즉슨

'android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?'

대충 번역해보니..

활동 컨텍스트 외부에서 startActivity()를 호출하려면 FLAG_ACTIVITY_NEW_TASK 플래그가 필요합니다. 이것이 정말 당신이 원하는 것입니까?

라는 말인데..오류도 참 친절하게 서술형으로 나온다..ㅋㅋㅋ

 

 

 

 

 

확인해보니..서비스나 BroadcastReceiver 등을 상속받은 클래스나 View 안에서 이 startActivity를 실행하면 오류가 난다.Activity 밖에서 호출을하면 이런 문제가 생긴다고..

해결방법)

에러 메시지에서 나온 대로 flag를 추가해서 startActivity를 호출한다.

 

startActivity(intent.addFlags(FLAG_ACTIVITY_CLEAR_TASK));

 

 

이렇게하면 에러 발생 없이 말끔하게 실행된다.'-'

pendingIntent를 쓰는 방법도있는데..단순히 액티비티를 실행하려면 플래그를 추가하는게 가장 편하다.

Posted by 사슴영혼'-'