Googleは、「ユーザーがサインアウトしたときにCredentialsApi.disableAutoSignIn()を呼び出して、すぐにサインインし直さないようにしています(...)」と書いています。Androidスマートロックパスワードのログアウト
これは何が起こるかです:
- ユーザーにのみ保存された1つの資格を持っています。彼がアプリに入ると、自動的にサインインされます。
- ユーザーがサインアウトし、CredentialsApi.disableAutoSignIn()が呼び出されました。
- ユーザーがアプリに入るたびに、自動的にサインインされるのではなく、選択者には1つのオプションしかありませんが、選択された資格情報のみが表示されます。
これは非常に面倒です。ユーザーがログアウトすると、再度ログインするたびに気にする必要はありません。彼が1つ以上の資格を持っていても。しかし、当面は、彼が1つの資格しか持っていない場合に焦点を当てましょう。
これは予期された動作ですか?私は1月にこの機能をテストしたときに、このようなものではなかったと確信しています。今、私はこの機能をプロダクションに入れようとしています。これが期待された動作であれば、おそらくユーザーがログアウトしたときに検出するために共有設定にフラグを格納する必要があります。
リクエストの認証機能はアプリの主なアクティビティにあり、私がそこに行くたびに、ダイアログの選択がログインを要求するように見えます。
ありがとうSteven。 同様のアプローチが実装されており、アプリケーションによって制御されるユーザー状態があります。 - ホームアクティビティでは、ユーザーが以前に手動でログアウトしていない限り、常にユーザーにサインインしてください。 - ログインアクティビティ(自宅とは別のアクティビティ)で、以前に手動でサインアウトした場合でも、常にサインインを試みます。 それだけです。 SharedPreferecesにはbooleanを格納し、状態を制御するには 'userHasSignedOut'しか格納しません。 – Rui