API によって返されたエラー メッセージが「The current app is blacklisted」であるかどうかを再確認します。これは、保存ダイアログで過去のある時点で「Never」が選択されたときにトリガーされます (受け入れられた回答の詳細: する必要があります)。デバイス上のすべてのアカウントを確認します)。
一般に、テスト時に保存ダイアログが表示されない場合は、次の点を確認してください。
エミュレーターではなく、実際のデバイス (Android 4 以降) を試してください。デバイスが最新バージョンの Google Play サービス (8 以降) を実行していて、アクティブなインターネット接続があることを確認してください。
デバイスに少なくとも 1 つの Google アカウントがあり、アカウントが良好な状態であること (パスワードの再入力が不要で、企業ポリシーの要件を満たしていること) を確認します。たとえば、アカウントのメール プッシュ通知が正常に受信されていることを確認します。デバイスによって
Google 設定アプリ > Smart Lock for Passwords (Pre-Marshmallow) または[設定] > [Google] > [Smart Lock for Passwords (Marshmallow)]で、Smart Lock for Passwords 機能が有効になっているデバイス上のアカウントが少なくとも 1 回表示されていることを確認します。パスフレーズ暗号化によって無効と表示されます。関連する質問を参照してください
同じSmart Lock for Passwords設定アクティビティで、アプリがデバイス上のどのアカウントの「保存しない」リストにもないことを確認します (受け入れられた回答に記載されているように)。設定アクティビティ UI の上部にアカウント セレクターのドロップダウンがあります。
Auth.CredentialsApi.save()
コールバックが呼び出されていること、および が呼び出されているCredentialRequestResult
getStatus().getStatusCode()
ことを確認してRESOLUTION_REQUIRED
くださいstartResolutionForResult()
。サンプルアプリ
ダイアログが表示され、ユーザーの操作が完了する前にアクティビティを呼び出してはstartResolutionForResult()
ならないことに注意してください。finish()
onActivityResult()
Auth.CredentialsApi.save()
また、デバイスの Google アカウントと一致するメール ID と、パスワードの代わりに設定されたアカウント タイプを持つ資格情報を使用して呼び出しを行うと、解決を必要とせずに保存が成功することにも注意してください。一致する ID を持つ既存のパスワード資格情報の更新についても同様です。passwords.google.comでデバイスの Google アカウントをチェックして、現在保存されている認証情報を確認してください
これらのいずれも機能しない場合は、デバイスに新しい Google アカウントを追加してみてください。Smart Lock が統合された別のアプリを試してみてください。たとえば、デバイスでNYTimesアプリのメールベースのアカウントを作成して保存し、それがデバイス/アカウントであるかどうかを判断します。 -特定の問題またはアプリの実装に関する問題。詳しくはコメントを残してください。
アプリで Smart Lock API 統合をテストするための完全なガイドについては、この回答をご覧ください。