相关疑难解决方法(0)

如何知道同步完成的时间?

我已经实现了一个同步适配器,我想在我的活动中完成回调.我尝试过使用ContentResolver.addStatusChangeListener,但是当同步处于暂挂/活动状态时,我只会收到回调.以下是我的活动中的一些相关代码:

@Override
protected void onResume() {
    super.onResume();
    final int mask = ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE | ContentResolver.SYNC_OBSERVER_TYPE_PENDING;
    syncObserverHandle = ContentResolver.addStatusChangeListener(mask, syncStatusObserver);
}

@Override
protected void onPause() {
    super.onPause();
    if (syncObserverHandle != null) {
        ContentResolver.removeStatusChangeListener(syncObserverHandle);
        syncObserverHandle = null;
    }
}

private SyncStatusObserver syncStatusObserver = new SyncStatusObserver() {

    @Override
    public void onStatusChanged(int which) {
        AccountManager am = AccountManager.get(TodosActivity.this);
        Account a = am.getAccountsByType(Const.ACCOUNT_TYPE)[0];

        Log.d(Const.TAG, "Sync status changed: " + which);

        if (!ContentResolver.isSyncActive(a, DataProvider.AUTHORITY) &&
                !ContentResolver.isSyncPending(a, DataProvider.AUTHORITY)) {
            Log.d(Const.TAG, "Sync finished, should refresh nao!!");
        } …
Run Code Online (Sandbox Code Playgroud)

android sync callback

31
推荐指数
3
解决办法
1万
查看次数

使用SyncAdapter与*local*gmail和facebook app数据同步

对于我需要开发的应用程序,我需要能够使用SyncAdapter同步gmail和facebook数据.我希望与本地的facebook和gmail应用程序(如果可用)同步,而不是远程服务器.与本地应用程序同步意味着更少的电池使用,更少的网络使用,更快的同步等.当然,如果需要,我将设置正确的权限.

我的问题:

  • 如果有任何应用程序(gmail/facebook)可用,是否可以查询它们的数据(消息,事件等)?
  • 如果没有,是否有可能从他们那里得到认证令牌(或任何形式的凭证),将允许我查询服务器,而不需要用户把他们每个人的用户名和密码一次?
  • 如果可能的话,也可以在任一个facebook或gmail应用程序同步后立即自动同步,这样我就可以尽快获得新数据?

如果这些都不可用,我想我需要自己获取数据,这与这个问题无关.

gmail android facebook android-syncadapter

9
推荐指数
1
解决办法
1487
查看次数

标签 统计

android ×2

android-syncadapter ×1

callback ×1

facebook ×1

gmail ×1

sync ×1