안드로이드 개발 질문/답변
(글 수 45,052)
안녕하십니까.
혹시나 이런 기능이 있을까해서 질문을 드리는데요.
서비스와 엑티비티로 이루어진 어플리케이션이 있을때
서비스가 백그라운드로 동작하면서 특정 이벤트가 발생했을때
해당 엑티비티가 foreground 상태인지 체크해서 서로 다른 이벤트를 날리도록
할 수 있을까요?
혹시 Intent에 이런 기능이 있을까해서 찾아봤는데 도무지 모르겠내요
도움 좀 부탁드리겠습니다.
2010.04.07 13:47:37
ActivityManager.RunningTaskInfo를 이용해서 현재 실행중인 Activity가 체크하려는 Activity인지 알아오면 되겠네요.
2010.04.07 14:48:02
ActivityManger.RunningTaskInfo 사용법을 몰라서 example 소스를 찾아보았는데 생각보다 이해가 안되내요
죄송합니다만 사용된 예를 좀 알 수 있을까요?
2010.04.07 16:17:26
아래와 같이 하시면 현재 보는 Activity의 이름을 리턴하니 리턴값으로 비교해 보면 되겠네요.
public String GetClassName(Context context)
{
ActivityManager activitymanager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> runningtaskinfo = activitymanager.getRunningTasks(1);
return runningtaskinfo.get(0).topActivity.getClassName();
}
그리고 AndroidMainfest파일에 "android.permission.GET_TASKS" permission추가 하시고요.



