2013-10-24 6 views
24

ダミーアカウントを使用して同期アダプタを作成しましたが、設定アプリケーションのアカウントリストに表示したくない場合や、設定の[アカウントの追加] 。私は、アンドロイド:userVisible = "false"を使ってみましたが、アカウントは表示されています。私はエミュレータと3つの物理デバイスでこれを試しました。すべては、必要なすべてのデータを同期するという点で正しく機能しますが、唯一間違っているのは、リストにアカウントが表示されていることです。設定から同期アダプタのダミーアカウントを非表示にする

マイauthenticator.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-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がある私が手

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

そして、アカウント一覧と追加アカウント一覧のアカウント。

お願いします! :)

+0

私はこの質問の答えに非常に興味があります(もし良い方法があれば) –

+0

同じ問題があります。あなたと同じようにドキュメントからすべてを取り出しました。ダミーアカウントを表示したくないのですが、それは単に常に表示されます。 :-(ここに何が壊れていますか? – Zordid

答えて

3

これは本当の回答ではありませんが、authenticator.xmlからラベルを削除すると、追加されたアカウントのリストには表示されませんが、アイコンはクリックした後にリストには表示されませんアカウントを追加する。醜いとおそらく良い考えではない。 (この方法では少なくとも、4.4のネクサス4でアカウントを非表示にする - まだ他のデバイスをチェックしていない)。

私は、同期アダプタのユーザー可視フラグは、アカウントを選択した後の同期部分の表示、最後の同期時間の表示、自動同期設定の設定、および同期のトリガにのみ影響すると考えています。

私もこれを知りたいです。アカウントリストにダミーアカウントが散見されていないので、これが可能でなければなりません。ですから、私のインストールされたアプリのどれかが同期アダプタを気にしていませんか?

4

解決策が見つかりました。 これは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" 

あなたがそれらを置く場合は、アンドロイドを設定どこ、アカウントが表示されます:userVisible =」偽 "か否かを判断する。

+4

空いている行はまだ使用可能なアカウントのリストに表示されますが、設定>アカウントの追加に行くと、上部に空白の行が表示されます 2671-2671 /?W/ChooseAccountActivity:アカウントタイプmy.package.name.accountのラベルリソースがありません 2671-2671 /?W/ChooseAccountActivity:あなたのパッケージ名のログは、アカウントタイプmy.package.name.accountのアイコンリソースなし 2671-2671 /?W/AuthenticatorHelper:アカウントタイプmy.package.name.accountのラベルアイコンなし – Jason

+0

本当に、[アカウントの追加]リストには空の位置があります。では、ダミーアカウントを使用している人や、同期アダプタを使用していない人はどうですか? – Astagor

関連する問題