4

我在尝试支持 android 4.3+ 上的受限配置文件时遇到了问题。我已经设置了身份验证器:

<service
   android:name=".account.AuthenticatorService"
   android:permission="com.example.MANAGE_ACCOUNTS">
   <intent-filter>
     <action android:name="android.accounts.AccountAuthenticator"/>
   </intent-filter>
   <meta-data
     android:name="android.accounts.AccountAuthenticator"
     android:resource="@xml/authenticator" />
</service>

在authenticator.xml 中:

<account-authenticator
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:accountType="com.example"
  android:icon="@drawable/ic_launcher"
  android:smallIcon="@drawable/ic_launcher"
  android:label="@string/label"
/>

我得到一个可用帐户的列表并打印它们的类型:

AccountManager am = AccountManager.get(this);
accounts = am.getAccounts();

for (Account account : Accounts) {
  Log.d(TAG, account.type);
}

当我以主用户身份运行应用程序时,获取我所有的谷歌帐户、一个 github 帐户、一个保管箱帐户和我的“com.example”帐户。然后我尝试使用受限帐户。

首先我在 AndroidManifest 中添加:

<application
  .
  .
  .
  android:restrictedAccountType="com.example">

当我以受限用户身份登录时运行应用程序时,我什么也得不到。列表中根本没有帐户。如果我将 更改restrictedAccountTypecom.google,我会得到我所有谷歌帐户的列表。

该帐户本身没有问题,因为当用户是“真实”用户时它可以正常工作......我需要做一些额外的事情来将帐户注册为可用于受限配置文件吗?关于该功能的文档充其量是稀缺的......

4

0 回答 0