使用LoginManager
類登錄時出現奇怪的問題。我從片段調用LoginManager.getInstance().logInWithReadPermissions(..)
以使用所需的權限進行登錄。解析sdk的Android Facebook SDK登錄問題
我已經盡我所能進行了調試,並且發現返回到此片段的父活動的onActivityResult
的回調請求代碼是錯誤的。以下代碼段來自LoginManager
類,該類使用某些請求代碼註冊用於登錄的回調。
...
CallbackManagerImpl.registerStaticCallback(
CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode(),
new CallbackManagerImpl.Callback() {
@Override
public boolean onActivityResult(int resultCode, Intent data) {
return LoginManager.this.onActivityResult(resultCode, data);
}
}
);
...
但是當它調用它不是CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode()
活動的onActivityResult但別的東西它像雙。例如,當我試圖調試和檢查這些值是這樣的:
CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode()= 64206在Activity類接收
requestCode = 129742
現在因爲這個原因,當callbackManager試圖調用onActivityResult like
callbackManager.onActivityResult(requestCode,resultCo數據);
與此requestCode它沒有找到從地圖logincallback繼續前進,它停在那裏。我不知道爲什麼會發生這種情況,因爲我使用的是ParseFacebookSDK,當我使用ParseFacebookUtils.logInWithReadPermissionsInBackground(..)
進行登錄時,它完美地工作。以下是gradle依賴關係。
...
compile 'com.facebook.android:facebook-android-sdk:4.7.0'
compile('com.parse:parse-android:1.13.0') {
exclude group: 'com.parse.bolts',
module: 'bolts-tasks'
}
compile 'com.parse:parsefacebookutils-v4-android:[email protected]'
...
如果能夠幫助,將不勝感激。謝謝。
UPDATE:
它的工作對我來說,當我從父活動,而不是片段試圖Facebook登錄,它返回正確的請求代碼活動的onActivityResult這個時候,它只是工作。這已經解決了我的問題,但仍想了解這裏的片段問題,所以如果您知道請分享您的想法。謝謝。
請避免使用庫而Facebook爲Android提供非常SDK。因爲我們知道解析是在棄用過程中。這是一個建議你不要使用解析。 –
我正在使用解析作爲後端,並已將其遷移到專用應用程序服務器上。 – KunalK