2017-03-06 2 views
5

백그라운드 서비스에서 firebase 이벤트를 수신하려고 시도했습니다. 내 활동 활동이 종료되면, 메소드가 호출 점점되지 않습니다 살아android 백그라운드 서비스에서 firebase 이벤트를 수신하는 방법은 무엇입니까?

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 

    ValueEventListener postListener = new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) {   
     Post post = dataSnapshot.getValue(Post.class);   
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) {   
    } 
    }; 
    mPostReference.addValueEventListener(postListener); 

    return START_STICKY; 
} 

onDataChange() 메소드 전까지지고, 아래의 코드를 찾아주세요.

누구든지 도와주세요.

+0

서비스를 사용하여 정확히 달성하려는 것은 무엇입니까? 왜 데이터를 사용하는 활동에서 직접 리스너를 설정하지 않았습니까? –

+0

활동을 열지 않고 백그라운드에서 데이터를 동기화하고 싶습니다. –

답변

0

매니페스트에서 android:stopWithTasktrue으로 설정되지 않았는지 확인하십시오. false으로 설정하거나 기본값이 false이므로 그대로 둘 수 있습니다. 그렇게하면 서비스는 활동의 수명주기와 관련이 없습니다. 매니페스트는 다음과 같아야합니다.

<service 
    android:name=".your_package_here.your_service_class_here" 
    android:enabled="true" 
    android:stopWithTask="false"/> 
관련 문제