2012-02-09 3 views
4

기본적으로 백그라운드 서비스에서 포어 그라운드로 대화 상자를 팝업하고 싶습니다. (알림을 사용하면 사용자 친화적 인 것이지만, 앱은 사용자의 즉각적인 응답이 필요합니다.) 나는 내 일을하고있다. 그런 다음 android:theme="@android:style/Theme.Translucent.NoTitleBar"을 사용하여 대화 상자가 포함 된 활동을 정의합니다. 내 응용 프로그램에있어 경우 대화 상자가 팝업 할 수서비스에서 포어 그라운드로 액티비티 시작하기

Intent intent = new Intent(getApplicationContext(), PopUpDialogActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

: 서비스 코드에서

는,이 같은 대화 활동을 시작합니다. 하지만 내 앱에 없으면 대화 상자가 포어 그라운드로 표시되지 않습니다 (앱을 보려면 입력해야합니다). 어떻게 직접 사용자 포커스로 시작할 수 있습니까?

+0

백그라운드 서비스에서 반투명 작업을 시작하는 데 문제가없는 것 같습니다. 해당 응용 프로그램이 현재 활성 작업이 아니더라도 말입니다. 서비스를 시작할 때 코드를 제공 할 수 있습니까? 앱을 종료 할 때 종료 될 가능성이 있습니까? – antonyt

+0

주 활동에서 토글 버튼이 있으므로 서비스를 시작하는 코드는 다음과 같습니다. if (togglebutton.isChecked()) {startService (new Intent (getApplicationContext(), MyService.class))}. 이 서비스에서 대화 활동을 시작하는 코드 스 니펫은 onStartCommand에 정의되어 있습니다. –

답변

0

서비스가 활동에 바인딩 된 경우 활동 또는 앱을 종료하면 서비스가 종료됩니다. 종료/복귀 할 때 서비스가 중단되지 않도록 서비스를 바인드 해제하고 바인드하려면 onPause() 및 onResume()을 사용하십시오.

관련 문제