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

서비스에서 액티비티 실행

0 추천
메인액티비티
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
Intent service= new Intent(getApplicationContext(), ServiceActivity.class);
startService(service);
서비스 액티비티
public class ServiceActivity extends Service {
    @Override
    public void onCreate() {
        super.onCreate();
Context context = getApplicationContext();
Intent intent = new Intent(context, ListUsersActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
    }

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
매니페스트
<service android:name="com.***********************ServiceActivity">

이렇게 실행을 했습니다. 메인액티비티가 실행될 때 확실히 서비스가 바로 시작되기는 하는데

메인액티비티 화면이 없어지고 ListUserActivity.class 화면으로 보여집니다.

제가 원하는건 메인액티비티화면 그대로 유지하고 백그라운드에서 ListUserActivity.class가 실행되게 할려고 합니다.

어떤 문제로 ListUserActivity.class 화면이 보이는 건가요?

zangon (810 포인트) 님이 2016년 3월 28일 질문

2개의 답변

+1 추천
Activity 의 사전적인 의미는, 움직임, 활동적인,.. 뭐 대충 이 정도 입니다.

백그라운드에서 Activity 는 실행되지 않으며, 실행되어서도 안됩니다.

백그라운드 Activity 가 반드시 필요하다면, 코드를 잘못 만든 겁니다.

해당 부분을 Service 로 옮겨야 합니다.
JINASYS (5,630 포인트) 님이 2016년 3월 30일 답변
넵 감사합니다. service로 옮겨봐야 겟네요...
0 추천
메인 -> 서비스 -> 리스트로 호출하고 있으니까 당연히 제일 마지막엔 리스트 화면이 보이는게 맞죠.
쎄미 (162,410 포인트) 님이 2016년 3월 29일 답변
네 저도 나중에 알았씁니다;;; 혹시 activity자체를 백그라운드에서 실행되게 할 수 있나요? 아무리 찾아봐도 방법을 못찾겟네요..
안됩니다. 필요한 작업이 있다면 서비스에서 하세요.
...