我有一個Phone Gap Android應用程序,它使用Facebook JS SDK創建Facebook共享對話框。我在3個設備上測試過。它在一臺設備上工作得很好,但另外兩臺設備沒有任何結果。當我按下分享按鈕時,它什麼都不做。FB共享對話框在某些設備上不起作用
我能夠確定FB.getLoginStatus在無法工作的設備上返回「未知」。但是,我通過應用程序內部的登錄對話框登錄到FB。工作設備正確返回「連接」。
另外,Like和Comment功能在所有設備上都能正常工作。
設備正常工作
的Nexus 7 - 5.1.1(FB用戶是FB應用程序的管理員)
設備共享對話框:
銀河趨勢 - 4.0.4(FB用戶是管理員或FB應用開發者)
聯想平板 - 4.1.2(FB用戶與FB應用程序沒有關聯)
的FB應用沒有沙箱,它是活的。
這是我的分享功能。
function sharepost(link,picture,name,description,post_type,page_name){
var description_unes = unescape(description);
FB.getLoginStatus(function(response) {
if (response.status == 'connected') {
var obj = {
method: 'feed',
link: link,
picture: "http://example.com/fb.php?u=hsttps://fbexternal-a.akamaihd.net/safe_image.php?d=AQDQXWajSt1TJxUz&url="+picture, //full_picture
name: name,
description: description_unes
};
FB.ui(
obj,
function(response) {
if (response && !response.error_code) {
alert('Posting completed.');
} else {
alert('Error while posting.');
}
}
);
}
});
}
有人遇到類似的問題,其行爲根據移動設備的不同(或者我猜android SDK版本?)。非常感謝
更新:我在這裏閱讀FB.getLoginStatus() return "unknown" in Firefox when user is logged在瀏覽器中它與第三方cookie有關,但是當這是一個Android應用程序時,這怎麼可能呢?當我通過應用程序驗證後,狀態爲「已連接」,但當我分享時,狀態變爲「未知」。