我在尝试在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);
}
当我以主用户身份登录时运行应用程序时,获取我的所有Google帐户,github帐户,Dropbox帐户和我的“com.example”帐户。然后我用限制帐户尝试。
首先我添加AndroidManifest:
<application
.
.
.
android:restrictedAccountType="com.example">
当我以限制用户身份登录时运行应用程序时,我什么也得不到。列表中根本没有帐户。如果我将restrictedAccountType
更改为com.google
,我会获得所有Google帐户的列表。
帐户本身没有任何问题,因为当用户是“真正的”用户时它工作得很好...我是否需要做一些额外的工作才能将帐户注册为受限制的配置文件?关于该功能的文档充其量只是......