4

Facebook sdk 3を使用してFacebookログインを統合するAndroidアプリケーションを作成しています。多くのチュートリアルを試しましたが、現在成功しています。次のことを達成できる完全なガイドを教えてください。

  1. ログイン アクティビティ:

    ユーザーがこのアクティビティから 1 回ログインすると、ホーム アクティビティに移動します。ユーザーが初めてログインし、現在ホーム アクティビティにいると推測し、しばらくしてユーザーがアプリを閉じました。ユーザーがアプリを起動するたびに、アプリはログイン アクティビティをスキップし、ホーム アクティビティを開始します。ユーザーが facebook.com からパスワードを変更して Android アプリを起動した場合、ログイン アクティビティを表示したいと考えています。

  2. ホームアクティビティ:

    このアクティビティにはログアウト ボタンがあります。

前もって感謝します。

4

3 に答える 3

1

Facebookはセッションでその値を保持しています。

したがって、それを確認するだけis_session_valid()で、その応答に基づいてアクティビティを切り替えることができます。

于 2013-05-14T08:20:33.153 に答える
1

ログイン状態 (true / false) をsharedPreferencesに保存できます。2 番目の要件では、2 つのケースが発生する可能性があります。

  1. ユーザーがHomeActivityを離れると、アプリはバックグラウンドに入りますが、アクティブですがパッシブ状態になります。この場合、ユーザーが最近のタスクまたはランチャーからアプリを再起動するときに何もする必要はありません Android は、最後に表示されたアクティビティユーザーを自動的に開始します(つまり、あなたの場合は HomeActivity )。

  2. アプリがバックグラウンドにある間に、誰かがアプリを強制終了しまし。つまり、Android OS が他のアプリのメモリを要求したり、電話を再起動したり、タスク キラーがアプリを強制終了したりしました。その場合、ユーザーがアプリを再度起動すると、Android はデフォルトのランチャーアクティビティ、つまりLoginActivityを開始します。 LoginActivity の OnResume 内のSharedPreferencesに保存した変数を確認する必要があります。ユーザーがすでにログインしている場合は、HomeActivity を開始するだけです。それ以外の場合は、通常の動作を開始します。

ブール変数だけでなく、HomeActivityの開始に必要と思われるものをすべて格納できます。

于 2013-05-14T08:27:49.130 に答える
0

ここで重要なのは、トークンを追跡し、トークンがまだ有効かどうかを確認することです。トークンが有効でない場合、ユーザーは再度ログインする必要があります。そのため、トークンを初めて要求するときは、アプリケーションのユーザー デフォルトに保存します。次回はトークンの有効性を確認してください。

ログイン固有の情報については、こちらを参照してください: https://developers.facebook.com/docs/howtos/androidsdk/3.0/login-with-facebook/

詳細については、第 6 章 https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/を参照してください。

于 2013-05-14T08:20:19.067 に答える