[英]onActivityResult requestcode Facebook SDK
我正在構建一個使用Facebook SDK
的Android
應用,以便人們可以共享URL。 我將onActivityResult用於我的活動中的多件事,所以我使用了requestCode
上的開關,以便我知道如何處理每個活動結果。 例如,當我取消分享Facebook帖子時,如何獲得正確的requestCode? 這是我目前的代碼:
import com.facebook.CallbackManager;
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case 1:
... doing some not-facebook-related stuff here
case 2:
... doing some other not-facebook-related stuff here
// case ??? :
// callbackManager.onActivityResult(requestCode, resultCode, data);
那么正確的requestCode是什么,如何獲得呢?
這是我在類似情況下使用的:
if (requestCode == CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode()) {
// call callbackManager
}
您還可以設置FacebookSdk使用的請求代碼的偏移量:
FacebookSdk.sdkInitialize(getApplicationContext(), 10000);
順便說一句,我已經在源代碼中找到了它,所以我不確定此選項的“安全性”,因為CallbackManagerImpl.RequestCodeOffset.Login.toRequestCode()
不是公開的記錄方法。
嘗試改用sharedialog
new ShareDialog(this).registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
}
});
取消共享后,您將進入onCancel回調。 也取消評論
callbackManager.onActivityResult(requestCode, resultCode, data);
來自onActivityResult方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.