0

複数のアカウント タイプに対して syncadapter を使用することは可能ですか? (例: com.google と com.facebook.auth.login)

syncadapter.xml は、次のような単一の値を受け入れるようです。

<?xml version="1.0" encoding="utf-8"?>
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
    android:contentAuthority="com.foo"
    android:accountType="com.google"
    android:supportsUploading="true"
    android:userVisible="true" />

Google、Facebook、Twitter などのユーザーが複数のアカウント オプションを利用できるようにしたいと考えています。

4

1 に答える 1

0

AbstractThreadedSyncAdapterのドキュメントでは複数形が使用されていますが (強調が追加されています)、以下を参照してください。

android:contentAuthority および android:accountType 属性は、この同期アダプターが提供するコンテンツ機関とアカウントの種類を示します。

私はそれをサポートしているとは思わない。完全にはわかりませんが、これは sync-adapter xml が解析される方法のコードのようです。accountType 属性がサポートされていれば、いくつかのループで accountType 属性を複数のタイプに分割することを期待していました。

 79     static class MySerializer implements XmlSerializerAndParser<SyncAdapterType> {
 80         public void writeAsXml(SyncAdapterType item, XmlSerializer out) throws IOException {
 81             out.attribute(null, "authority", item.authority);
 82             out.attribute(null, "accountType", item.accountType);
 83         }
 84 
 85         public SyncAdapterType createFromXml(XmlPullParser parser)
 86                 throws IOException, XmlPullParserException {
 87             final String authority = parser.getAttributeValue(null, "authority");
 88             final String accountType = parser.getAttributeValue(null, "accountType");
 89             return SyncAdapterType.newKey(authority, accountType);
 90         }

ただし、サポートするアカウントの種類ごとに 1 つの XML を追加して、同じコンテンツ機関を参照することは可能でしょうか?

于 2012-05-28T15:10:17.560 に答える