반응형
Activity가 아닌 곳 ,
Service , BroadcastReceiver , baseAdapter 등에서 Intent로 새로운 Activity를 열려고 하면
E/AndroidRuntime(27318): android.util.AndroidRuntimeException:
Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag.
Is this really what you want?
라는 런타임 에러가 나옵니다.
안드로이드에서 간단한 toast를 띄울 때 '어디다 띄울거냐' 를 판별하는 this 또는 클래스명.this 와 같이
어느 Task에 Activity를 띄울건지 모르겠다는 에러입니다.
Task는 Activity를 관리하는 것으로 Activity를 띄우려면 해당 Task에 띄워야 하는데
Service , BroadcastReceiver , baseAdapter 등 은 Activity가 아니므로 새로운 Activity를 띄우려면
에러에서의 설명과 같이
1
2
3 |
Intent intent = new Intent(mContext, BlackBoxVideoPlayActivity. class ); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); mContext.startActivity(intent); |
Intent에 속성을 넣어 새로운 Task를 만들겠다고 해야합니다.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 - 간단한 옵션 메뉴 만들어 보기 (0) | 2015.07.28 |
---|---|
안드로이드 인터넷연결체크 ( 3g/lte/wifi ) 메서드 (1) | 2014.05.15 |
안드로이드 - 컨텐트프로바이더 exported (0) | 2014.01.19 |
안드로이드 - 웹뷰(WebView)에 관한 고찰 (0) | 2014.01.14 |
안드로이드 - appwidget 이 랜덤하게 멈춰요 해결책 (0) | 2014.01.11 |
안드로이드 - app widget 버튼이 동작을 안해요 해결법 (0) | 2014.01.11 |
안드로이드 - 새로운 다른 앱이 설치될때 app widget 멈출 경우 해결법 (0) | 2014.01.11 |
[Android/안드로이드] 어플리케이션 외장메모리 (sd card )에 설치하는 방법. (0) | 2014.01.08 |