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);
}

メインユーザーとしてログインしてアプリを実行すると、すべてのGoogleアカウント、githubアカウント、Dropboxアカウント、および「com.example」アカウントを取得します。次に、制限付きアカウントで試してみます。

まず、AndroidManifest に追加します。

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

制限されたユーザーとしてログインしてアプリを実行すると、何も得られません。リストにアカウントがありません。を に変更するrestrictedAccountTypecom.google、すべての Google アカウントのリストが表示されます。

ユーザーが「実際の」ユーザーである場合は問題なく機能するため、アカウント自体には問題はありません...制限されたプロファイルで使用できるアカウントを登録するために何か追加する必要がありますか? この機能に関するドキュメントはせいぜい不足しています...

4

0 に答える 0