마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

service 질문 있습니다.

0 추천
설정 값이 변경되면, 그것에 대해 경고 하는 앱을 만들고 있습니다. Service를 이용해서 하고 있는대, 앱을 실행 시킬 때만, 반응이 오고 , 앱을 끄고 설정 값을 바꿔보면 아무 반응이 없습니다. service는 데몬 처럼 백그라운드에서 계속 돌고 있는게 아닌가여 ?

 

그리고 service로 intent 를 시키면 첫 activity 화면을 없애고 메인 매뉴로 가고 싶은대 어떻게할 수 있나요 ?
프리라인 (360 포인트) 님이 2017년 9월 15일 질문

1개의 답변

0 추천

서비스 코드가 없으니 말 해 드릴 수 있는게 없네요 

한번 스스로 천천히 보면서 찾아보세요 

서비스에서 액티비티 호출은

Intent intent = new Intent(this, 호출하고싶은 액티비티.class);

intent.addFlag(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(intent);

이렇게 하시면 될 겁니다. 

서비스나 브로드캐스트 리시버에서 액티비티를 호출할때는 

인텐트에 NEW TASK 플래그를 넣어줘야합니다.

새로운 TASK를 생성하고 거기다 액티비티를 추가 하는 플래그입니다.

새로운 TASK를 생성하면 아무런 제약없이 액티비티를 추가 할 수 있어요 

새로운 TASK를 생성해야 하는 이유는 Service는 어떠한 Task에도 속해 있지 않아서 

그냥 startActivity 하게 되면 어떤 TASK에서 액티비티를 찾아야 하는지 모릅니다.

그래서 새로운 FLAG_ACTIVITY_NEW_TASK 를 추가 해 줘서 새 TASK에 실행해줘 라고 알려줘야합니다.

도움이 되었으면 좋겠네요


 

MAkchang (220 포인트) 님이 2017년 9월 16일 답변
...