将同步适配器服务绑定到活动



我目前正在使用一个每15分钟同步一次数据的SyncAdapter。是否可以将该服务绑定到活动,以便我可以向用户显示当前同步状态是什么?

我在文档中阅读了有关服务和活动之间的IPC的文档,您可以与信使和处理程序进行通信。但是我不能在我的 SyncService onBind 方法中返回 mMessenger.getBinder(),因为我必须返回 syncAdapter.getSyncAdapterBinder() 因为 SyncAdapter

您可以返回不同的IBinder,具体取决于为Intent设置的操作。查看我对Android SyncAdapter的回复:如何获得特定同步发生的通知

试试这个定义工作。

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();
}
}

相关内容

  • 没有找到相关文章

最新更新