| <?xml version="1.0" encoding="utf-8"?> |
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| package="com.example.android.network.sync.basicsyncadapter" |
| android:versionCode="1" |
| android:versionName="1.0" > |
| |
| <!-- SyncAdapters are available in API 5 and above. We use API 7 as a baseline for samples. --> |
| <uses-sdk |
| android:minSdkVersion="7" |
| android:targetSdkVersion="17" /> |
| |
| <!-- Required for fetching feed data. --> |
| <uses-permission android:name="android.permission.INTERNET"/> |
| <!-- Required to register a SyncStatusObserver to display a "syncing..." progress indicator. --> |
| <uses-permission android:name="android.permission.READ_SYNC_STATS"/> |
| <!-- Required to enable our SyncAdapter after it's created. --> |
| <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/> |
| <!-- Required because we're manually creating a new account. --> |
| <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/> |
| |
| |
| <application |
| android:allowBackup="true" |
| android:icon="@drawable/ic_launcher" |
| android:label="@string/app_name" |
| android:theme="@style/AppTheme" > |
| |
| <!-- Main activity, responsible for showing a list of feed entries. --> |
| <activity |
| android:name="com.example.android.network.sync.basicsyncadapter.EntryListActivity" |
| android:label="@string/app_name" > |
| <!-- This intent filter places this activity in the system's app launcher. --> |
| <intent-filter> |
| <action android:name="android.intent.action.MAIN" /> |
| <category android:name="android.intent.category.LAUNCHER" /> |
| </intent-filter> |
| </activity> |
| |
| <!-- ContentProvider to store feed data. |
| |
| The "authorities" here are defined as part of a ContentProvider interface. It's used here |
| as an attachment point for the SyncAdapter. See res/xml/syncadapter.xml and |
| SyncService.java. |
| |
| Since this ContentProvider is not exported, it will not be accessible outside of this app's |
| package. --> |
| <provider |
| android:name=".provider.FeedProvider" |
| android:authorities="com.example.android.network.sync.basicsyncadapter" |
| android:exported="false" /> |
| |
| <!-- This service implements our SyncAdapter. It needs to be exported, so that the system |
| sync framework can access it. --> |
| <service android:name=".SyncService" |
| android:exported="true"> |
| <!-- This intent filter is required. It allows the system to launch our sync service |
| as needed. --> |
| <intent-filter> |
| <action android:name="android.content.SyncAdapter" /> |
| </intent-filter> |
| <!-- This points to a required XML file which describes our SyncAdapter. --> |
| <meta-data android:name="android.content.SyncAdapter" |
| android:resource="@xml/syncadapter" /> |
| </service> |
| |
| <!-- This implements the account we'll use as an attachment point for our SyncAdapter. Since |
| our SyncAdapter doesn't need to authenticate the current user (it just fetches a public RSS |
| feed), this account's implementation is largely empty. |
| |
| It's also possible to attach a SyncAdapter to an existing account provided by another |
| package. In that case, this element could be omitted here. --> |
| <service android:name="com.example.android.common.accounts.GenericAccountService"> |
| <!-- Required filter used by the system to launch our account service. --> |
| <intent-filter> |
| <action android:name="android.accounts.AccountAuthenticator" /> |
| </intent-filter> |
| <!-- This points to an XMLf ile which describes our account service. --> |
| <meta-data android:name="android.accounts.AccountAuthenticator" |
| android:resource="@xml/authenticator" /> |
| </service> |
| |
| </application> |
| |
| </manifest> |