Почему ContentResolver.requestSync не запускает синхронизацию?

Я пытаюсь реализовать шаблон адаптера Content-Provider-Sync, как описано на Google IO - слайд 26. Мой контент провайдер работает, и моя синхронизация работает, когда я запускаю ее из приложения Dev Tools Sync Tester, однако, когда я вызываю ContentResolver.requestSync (учетная запись, полномочия, пакет) из моего ContentProvider, моя синхронизация никогда не запускается.

ContentResolver.requestSync(
        account, 
        AUTHORITY, 
        new Bundle());

Изменить - добавлен фрагмент манифеста Мой XML-манифест содержит:


    
        
    
    

- Изменить

Мой файл syncadapter.xml, связанный с моей службой синхронизации, содержит:



Не уверен, какой другой код может быть полезен. Учетная запись, переданная в requestSync, имеет "myaccounttype", а АВТОРИТЕТ, переданный вызову, соответствует моему адаптеру syc xml.

Является ли ContentResolver.requestSync правильным способом запроса синхронизации? Похоже, что инструмент тестирования синхронизации напрямую связывается со службой и вызывает синхронизацию, но похоже, что это противоречит цели интеграции с архитектурой синхронизации.

Если это правильный способ запроса синхронизации, то почему синхронизация тестер работает, но не мой вызов ContentResolver.requestSync? Есть ли что-то, что мне нужно передать в комплекте?

Я тестирую в эмуляторе на устройствах с версиями 2.1 и 2.2.

112
задан Vertexwahn 4 March 2016 в 16:43
поделиться