環境:
2 つの Android アプリがインストールされているとします。A にはカスタム Authenticator コードが含まれ、新しいアカウントを AccountManager に追加できます。B にはシングルタッチ サインイン フローが必要です。アカウントは、A によって AccountManager にまだ作成されていないと想定できます。
質問:
B の観点から、A アプリからandroid.permission.MANAGE_ACCOUNTS
B) の AndroidManifest で宣言する必要がある AccountManager の addAccount メソッドを使用し、インテントを介して呼び出すだけで、B のアカウントを作成する利点は何ですか。 exporting the LoginActivity
A は、必要なすべてのアクセス許可を既に宣言しています。後者の解決策の方が実際には優れていると思われる場合 (さらに別のアクセス許可を宣言する必要がないため)、意見を裏付ける興味深い発言があれば教えてください。
LoginActivity はエクスポートされますが、アクセス許可を使用して保護する必要はないと想定できます。これが持つ唯一の副作用は、AccountManager でアカウントを作成することだけです。これはまさに私たちが必要としているものです。
その他:
より多くのコンテキストを提供するために、これが私の質問に答えるのに役立つ場合:
- A がインストールされていない場合、B は独自のサインイン フォームにフォールバックします (ただし、オーセンティケーターとして機能せず、アカウントを作成しません。取得した OAuth トークンは B のみが使用します)。
- B は INTERNET パーミッションを宣言します
- A と B の両方が同じリリース キーで署名されている
- A と B は android:sharedUserId を共有しません