Vous devez toujours spécifier un fournisseur de contenu lorsque vous implémentez un SyncAdapter, mais cela ne veut pas dire qu'il doit réellement faire quelque chose.
J'ai écrit des SyncAdapters qui créent des comptes et s'intègrent au framework "Accounts & sync" dans Android qui ne stockent pas nécessairement leur contenu dans un fournisseur standard.
Dans votre xml/syncadapter.xml :
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="com.company.app"
android:contentAuthority="com.company.content"
android:supportsUploading="false" />
Dans votre manifeste :
<provider android:name="DummyProvider"
android:authorities="com.company.content"
android:syncable="true"
android:label="DummyProvider" />
Puis ajoutez un fournisseur fictif qui ne fait rien d'utile à part exister, DummyProvider.java :
public class DummyProvider extends ContentProvider {
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
return 0;
}
@Override
public String getType(Uri uri) {
return null;
}
@Override
public Uri insert(Uri uri, ContentValues values) {
return null;
}
@Override
public boolean onCreate() {
return false;
}
@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
return null;
}
@Override
public int update(Uri uri, ContentValues values, String selection,
String[] selectionArgs) {
return 0;
}
}
0 votes
Question connexe (ultérieure) Dois-je utiliser Android AccountManager ?