私のアンドロイドアプリケーションでFacebookにログインしているかどうかを判断するには、明確な方法を見つけるのに苦労しています。Androidの場合、ユーザーがFacebookにログインしているかどうかを確認してください
あなたは人がすでにAccessToken.getCurrentAccessToken()とProfile.getCurrentProfile()チェックすることにより、ログインしているかどうかを確認することができます
公式のFacebookのドキュメントでは、と述べています。
ただし、AccessToken.getCurrentAccessToken()
は、SDKの初期化が完了した場合にのみ利用できます。だから、私の知る限り理解し、そのようなアプローチは、すべての時間を動作しない可能性があります:
FacebookSdk.sdkInitialize(this.getApplicationContext());
if (AccessToken.getCurrentAccessToken() != null) {
//good
}
、そのためには、この問題で説明しましたとおり、
How can i find my current login status - facebook API android
それは言うAccessTokenTracker()
コールバックonCurrentAccessTokenChanged()
かもしれないことしたがって、上記の場合null
の値をgetCurrentAccessToken()
にすることができます(私は単にレースを失うでしょう)。
だから、右SDKの初期化後getCurrentAccessToken
のnull
値を持つ可能性がある、とあれば、私の知る限り、onCurrentAccessTokenChanged()
は...ユーザーがすべてでログインし、そうされていない場合に実行されることはありませんどのようにチェックする場合それは適切ですか?これは私にとってデッドロックのようです。私はここに何かを逃していますか
私が行ったこと:一般的なログインを実装した公式のFBマニュアルを見ましたが、この問題は私に頭痛を与えています。また、他のSOの質問をチェックしてください、しかし、すべてのソリューションは私が欲しいものを説明していません。
また、私は、アプリケーションの起動時にこれを確認したいので、私はonResume
のようなものを持っていない、onStart
など
まあ、そのようなソリューションはすでに私のポストで提供されていますが、これらの操作の非同期性に関連する私の質問には答えません。詳細を提供することができますか、これはいつも(私が提供した情報に基づいて)動作するのでしょうか? – rofl
RequestAsyncTaskクラスを使用します。 – huk