我创建了一个带有虚拟帐户的同步适配器,我不希望它出现在“设置”应用程序的“帐户”列表中,也不想在用户按下“设置”中的“添加帐户”按钮时出现。我在同步适配器定义中尝试了 android:userVisible="false" ,但该帐户仍然出现。我已经在模拟器和 3 个物理设备上尝试过这个。一切正常,因为它同步了我需要的所有数据,唯一的错误是我在列表中看到了帐户,而我不想这样做。
我的authenticator.xml 是:
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="net.astagor.android.hhp.account"
android:icon="@drawable/ic_launcher"
android:smallIcon="@drawable/ic_launcher"
android:label="@string/app_name"
/>
我的 syncadapter.xml 是:
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
android:contentAuthority="net.astagor.android.hhp"
android:accountType="net.astagor.android.hhp.account"
android:userVisible="false"
android:supportsUploading="true"
android:allowParallelSyncs="false"
android:isAlwaysSyncable="true"
/>
我像这样添加我的适配器:
Account account = AuthenticatorService.GetAccount();
AccountManager accountManager = (AccountManager) context
.getSystemService(Context.ACCOUNT_SERVICE);
if (accountManager.addAccountExplicitly(account, null, null)) {
ContentResolver.setIsSyncable(account, StubProvider.AUTHORITY, 1);
ContentResolver.setSyncAutomatically(account,
StubProvider.AUTHORITY, true);
ContentResolver.addPeriodicSync(account, StubProvider.AUTHORITY,
new Bundle(), SYNC_FREQUENCY);
}
我在帐户列表和添加帐户列表中获得了该帐户。
请帮忙!:)