2016-07-07 7 views
0

AccountManagerに保存されているアカウントのアプリケーションでAccountAuthenticatorとSyncAdapterを使用しています。自分のACCOUN_TYPEとサーバー固有のIDをACCOUNT_NAMEとして使用します(「com.example.account_type」と「xxx-long-ハッシュドid "と呼ぶ)。 アカウントの一意性を保証するために、AccountManagerがタイプと名前の両方を使用することを理解する限り、このIDを別のアカウントと区別するためには、このIDを使用する必要があります。名前のAndroid AccountManagerエイリアス

私のアプリのシステム設定 - >アカウントページを開くと、この醜い識別子が名前として表示されますが、このIDに関連付けられたユーザー名が必要です(私は連絡先アプリ - 連絡先をエクスポートしますそこ)。 ACCOUNT_NAMEとしてユーザー名を使用し始めた場合、アプリでユーザー名を変更するたびに、別のアカウントが表示されますが、同じである必要があります。名前としてIDを使用する方法や回避策はありますか?ユーザーが判読可能な名前をシステムに提供しますか?

答えて

0

いいえ、Androidにアカウントのエイリアスメカニズムはありません。実際のユーザー名を使用することは、アカウントを作成するための意図された方法です。アカウント名を変更する必要がある場合は、アカウントを削除して再追加する必要があります。 APIレベル21+にはAccountManager.renameAccount(...)というメソッドがありますが、基本的に同じです。古いアカウントのデータを新しいアカウントに移行することはアプリに任されています。Androidはそれをあなたのためには行いません。

アカウントの一意性については、アカウント名がアカウントタイプのすべてのアカウントで一意であれば十分です。あなたのサービスのすべてのユーザーに一意のユーザー名があるので、心配することはありません。

関連する問題