facebook、twitter、instagram、g+、youtube と統合するアプリを構築しています。AccountManager.get(this).getAuthTokenByFeatures(...)
Google サービスは単純です。AccountManager (またはさらに単純な GoogleAccountManager) にトークンを要求し、初めての場合はトークンを要求できます。ユーザーに承認を求めるプロンプトが表示され、AccountManager が処理する以降のすべてのアクセスが処理されます。トークンが更新されるなどして、トークンを返してください。
しかし、WebView ベースの認証 (facebook、twitter、instagram) については、WebView を開く一般的な方法を行っています。ユーザーに承認させ、localhost を redirect_url として使用し、WebViewClient を使用して呼び出しをインターセプトし、トークンを取得し、ウェブビューを終了します。
この時点まで、すべてが正常に機能しています。
私が直面している問題は、トークンの有効期限が切れることです! そうすれば、トークンの有効期限が切れた後、webview の別のポップアップが表示され、サービスが読み込まれ、すぐに承認され (ユーザーが既に承認したことをサービスが記憶しているため)、localhost にリダイレクトされ、WebViewClient がインターセプトして閉じます。
では、ユーザーが 1 週間ほど使用せずにアプリに戻ってきて、いくつかの小さなクイック ポップアップが続けて表示されると想像してみてください。控えめに言ってもひどいユーザーエクスペリエンス。
それを処理する方法についてのアイデアはありますか????