0

我目前正在使用每隔15分鐘同步一次數據的SyncAdapter。是否可以將該服務綁定到活動,以便我可以向用戶顯示當前的同步狀態是什麼?將SyncAdapter服務綁定到活動

我在有關可以與信使和處理程序通信的服務和活動之間的IPC文檔中閱讀。但是我無法在SyncService onBind方法中返回mMessenger.getBinder(),因爲我必須因SyncAdapter返回syncAdapter.getSyncAdapterBinder()。

回答

1

試試這個definetiley的工作。

public class SyncService extends Service { 

private static SyncAdapter sSyncAdapter = null; 

private static final Object sSyncAdapterLock = new Object(); 

@Override 
public void onCreate() { 

    synchronized (sSyncAdapterLock) { 
     if (sSyncAdapter == null) { 
      sSyncAdapter = new SyncAdapter(getApplicationContext(), true); 
     } 
    } 
} 

@Override 
public IBinder onBind(Intent intent) { 

    return sSyncAdapter.getSyncAdapterBinder(); 
} 
} 
+0

我現在就這樣。但是我需要返回mMessenger.getBinder()來處理activtiy和service之間的通信。這裏是文檔: https://developer.android.com/guide/components/bound-services.html#Messenger – Tooroop