Sie müssen immer einen Inhaltsanbieter angeben, wenn Sie einen SyncAdapter implementieren, aber das bedeutet nicht, dass er tatsächlich etwas tun muss.
Ich habe SyncAdapters geschrieben, die Konten erstellen und mit dem "Accounts & Sync" -Framework in Android integrieren, die nicht unbedingt ihren Inhalt in einem Standardanbieter speichern.
In Ihrem 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" />
In Ihrem Manifest:
<provider android:name="DummyProvider"
android:authorities="com.company.content"
android:syncable="true"
android:label="DummyProvider" />
Und dann ein Dummy-Anbieter hinzufügen, die nichts tut nützlich außer existieren, 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;
}
}
verwandte (später) Frage [Soll ich android Accountmanager verwenden?] (Http://stackoverflow.com/a/8614699/94363) – rds