我目前正在使用每隔15分鐘同步一次數據的SyncAdapter。是否可以將該服務綁定到活動,以便我可以向用戶顯示當前的同步狀態是什麼?將SyncAdapter服務綁定到活動
我在有關可以與信使和處理程序通信的服務和活動之間的IPC文檔中閱讀。但是我無法在SyncService onBind方法中返回mMessenger.getBinder(),因爲我必須因SyncAdapter返回syncAdapter.getSyncAdapterBinder()。
我目前正在使用每隔15分鐘同步一次數據的SyncAdapter。是否可以將該服務綁定到活動,以便我可以向用戶顯示當前的同步狀態是什麼?將SyncAdapter服務綁定到活動
我在有關可以與信使和處理程序通信的服務和活動之間的IPC文檔中閱讀。但是我無法在SyncService onBind方法中返回mMessenger.getBinder(),因爲我必須因SyncAdapter返回syncAdapter.getSyncAdapterBinder()。
可以返回不同的IBinder
,取決於是爲Intent
設置的操作。看看我的迴應Android SyncAdapter: how to get notified of specific sync happened
試試這個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();
}
}
我現在就這樣。但是我需要返回mMessenger.getBinder()來處理activtiy和service之間的通信。這裏是文檔: https://developer.android.com/guide/components/bound-services.html#Messenger – Tooroop
Thanks @Marten。這可以工作,可能是解決方案。我會盡力實施,我會盡快回復你。 – Tooroop