0

そのため、コンテンツ プロバイダーとサーバーの SyncAdapter に基づいて同期を実装しようとしています。すべてが適切に作成および初期化されたようで、アカウントと同期に自分のアカウントが表示され、コンテンツ プロバイダーを同期するためのチェックボックスも表示されます。

しかし、LogCat で奇妙なエラーが発生しました。

エラー/AccountSettings(130): プロバイダーには、機関 'com.opussync.model.db.opuscontentprovider' のラベルが必要です

しかし、マニフェストにそのラベルを確実に設定しました!

そのため、アカウントのデータと同期で同期チェックボックスをオンにしようとすると、次のメッセージが表示されると思います。

現在、同期に問題が発生しています。まもなく戻ってきます

これが私のマニフェストの主要部分です:

    <!-- CONTENT PROVIDER -->

    <provider 
        android:name=".model.db.OpusContentProvider"
        android:label="BLABLABLA"
        android:authorities=".model.db.opuscontentprovider"
    ></provider>

    <!-- SERVICES -->

    <service android:name=".service.OpusAccountsSyncService" android:exported="true" android:process=":zencoosync">
        <intent-filter >
            <action android:name = "android.accounts.AccountAuthenticator"/>
        </intent-filter>
        <meta-data android:name="android.accounts.AccountAuthenticator"
            android:resource="@xml/authenticator" />
    </service>

     <service 
        android:name=".model.syncadapter.SyncService" 
        android:exported="true"
        android:syncable="true"
     >
        <intent-filter>
            <action android:name="android.content.SyncAdapter" />
        </intent-filter>
        <meta-data
            android:name="android.content.SyncAdapter"
            android:resource="@xml/syncadapter" />
    </service>
4

1 に答える 1

1

パッケージ名はに自動的に追加されませんandroid:authorities

だから、どちらか

  • またはandroid:authorities=".model.db.opuscontentprovider"に変更android:authorities="com.opussync.model.db.opuscontentprovider"
  • content://.model.db.opuscontentproviderコード内のコンテンツプロバイダーのベースURLとして使用します。
于 2011-04-22T09:47:26.580 に答える