2017-04-22 4 views
-1

백그라운드에서 계속 서비스를 실행하십시오. 예를 들어 앱을 종료해야만 토스트 메시지가 20 초 표시됩니다. 당신이 당신의 서비스를 선언 매니페스트에서는백그라운드에서 계속 서비스를 실행하십시오.

public class AppService extends IntentService { 

    public int onStartCommand(Intent intent, int flags, int startId) { 
     return START_STICKY; 
    } 

    public AppService() { 
     super("AppService"); 
    } 

    @Override 
    protected void onHandleIntent(Intent workIntent) { 
     Toast.makeText(getApplicationContext(), "hai", Toast.LENGTH_SHORT).show(); 
     SystemClock.sleep(20000); 
    } 
} 
+0

... 나를 위해 작동합니다. – aldok

답변

3

public class AppService extends Service { 

@Override 
public IBinder onBind(Intent intent) { 
    // TODO Auto-generated method stub 
    return null; 
} 

@Override 
public void onCreate() { 
    Toast.makeText(this, " MyService Created ", Toast.LENGTH_LONG).show(); 
} 

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    Toast.makeText(this, " MyService Started", Toast.LENGTH_LONG).show(); 
    return START_STICKY; 
} 
} 
0

는 추가 :

android:process=":processname" 

이 별도의 프로세스에서 서비스 실행을 할 수 있습니다 및 따라서는 응용 프로그램과 함께 살해되지 않습니다.

그런 다음 전경을 사용할지 여부를 선택할 수 있습니다. 영구적 인 알림을 표시하지만 서비스가 종료 될 가능성은 줄어 듭니다.

계속 실행중인 서비스를 만들려면 Service, 이 아닌IntentService을 사용하십시오. IntentService는 작업 수행이 끝나면 중지됩니다. 당신이 다음 사용 전경 서비스를 여전히 응용 프로그램이 종료 된 후에도 실행중인 서비스를 확인하려면 코드 아래

관련 문제