从设置中隐藏同步适配器的虚拟帐户



>我创建了一个带有虚拟帐户的同步适配器,但我不希望它出现在"设置"应用程序的"帐户"列表中,也不希望在用户按下"设置"中的"添加帐户"按钮时显示。我已经在我的同步适配器定义中尝试了android:userVisible="false",但该帐户仍然出现。我已经在模拟器和 3 个物理设备上尝试过这个。一切都可以正常工作,它可以同步我需要的所有数据,唯一的错误是我在列表中看到了帐户,但我不想这样做。

我的身份验证器.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"
    />

我的同步适配器.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);
 }

我得到帐户列表和添加帐户列表中的帐户。

请帮忙!:)

我找到了解决方案。这是身份验证器.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"

如果您放置它们,无论您是否设置 android:userVisible="false",该帐户都将可见。

这不是

一个真正的答案,但是如果您从身份验证器中删除标签.xml ,它不会显示在添加的帐户列表中,但是单击添加帐户后,列表中没有标签的图标。丑陋,可能不是一个好主意。(此方法至少在我的 Nexus 4 上运行 4.4 上隐藏了帐户 - 尚未检查其他设备)。

我相信同步适配器中的用户可见标志只会在选择帐户后影响同步部分的显示,您可以在其中查看上次同步时间、设置自动同步设置和触发同步。

我也想知道这一点。一定有可能,因为我没有看到我的帐户列表中散落着虚拟帐户。所以要么有办法,要么我安装的应用程序几乎没有一个打扰同步适配器?

相关内容

最新更新