* 액티비티(Activity)가 아닌 곳에서 Intent 호출 방법
안녕하세요 송군함대입니다~!^-^/
오늘의 포스팅 내용은 액티비티가 아닌 곳에서 Intent를 호출해야 될 경우가 있는데, 런타임 에러가 나타나게 됩니다~!
이를 해결할 수 있는 방법에 대해 적어볼까 합니다~!^-^
먼저 액티비티가 아닌 곳에서 Intent를 호출할 경우, 에러가 나는 것을 확인할 수 있습니다.
아래와 같은 문구를 확인할 수 있는데, Intent 를 띄워야 하는 Task를 정확히 알지 못해 발생하는 에러입니다.
Task 는 Activity 를 관리하는 것으로 액티비티를 띄우려면 해당 Task 를 띄워야 합니다.
액티비티가 아닌 Service, BroadcastReceiver, baseAdapter 등은 액티비티가 아니므로,
Intent 속성을 넣어 새로운 Task 를 만들겠다고 해야 합니다.
[에러문구(런타임에러)] android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? |
해결 방법은 아래와 같습니다.
[해결 방법(Intent 의 flag값 설정)] Intent intentCall = new Intent(Intent.ACTION_CALL, uri); |
'개발 관련 지식 > 안드로이드(Android)' 카테고리의 다른 글
[안드로이드] 어플리케이션 설치 또는 제거 이벤트 확인 방법 (1) | 2014.11.13 |
---|---|
[안드로이드] 자신의 폰번호 확인 방법 (0) | 2014.11.10 |
[안드로이드] 안드로이드 애니메이션 효과 및 기능 (0) | 2014.10.30 |
[안드로이드] 전면 카메라 사용 예제 (1) | 2014.10.17 |
[안드로이드] 카메라 이용을 위한 SurfaceView (2) | 2014.10.14 |