2012-03-21 67 views
0

你好朋友我实现登录Facebook的帐户,在我的Android应用程序,但问题是这个功能是不工作的所有手机,如果我在2.2移动应用程序运行其工作正常但当我尝试在HTC手机2.3版本登录页面即将到来,突然消失。Facebook的登录是不是在所有Android设备工作

public class TestLoginListener implements DialogListener { 
    public void onComplete(Bundle values) { 
     testAuthenticatedApi(); 
    } 
    public void onFacebookError(FacebookError e) { 
     e.printStackTrace(); 
    } 
    public void onError(DialogError e) { 
     e.printStackTrace(); 
    } 
    public void onCancel() { 
    } 
} 

public boolean testAuthenticatedApi() { 

    if (!authenticatedFacebook.isSessionValid()) return false; 
    try { 
     Log.d("Tests", "Testing request for 'me'"); 
     String response1 = authenticatedFacebook.request("me") 

     JSONObject obj = Util.parseJson(response1); 

     fbid=obj.getString("id"); 
     String name=obj.getString("name"); 
     fbfirstname=obj.getString("first_name"); 
     fblastname=obj.getString("last_name"); 
     fbemail=obj.getString("email"); 
     } 
} 

回答

1

是的,我想我知道原因。我已经用实施Facebook来劈砍,并且如果您的设备已经安装了Facebook应用程序并且您目前已登录,则通常会发生您所描述的情况。然后,当您尝试登录时,它会在消失之前显示登录的一小段时间。我猜你的HTC有fb应用程序,有人登录,而其他手机没有安装fb应用程序。我认为这是因为当您尝试登录时,fb服务器未被ping通。它改为使用fb应用程序。

我想出的解决方案是将代码更改为不使用SSO(Single Sign On)。我确信其他人会不同意这种方法,但我选择不使用SSO,它工作正常。为此,请使用authorize(FORCE_DIALOG_AUTH)

我做了一些挖掘,发现related问题。

相关问题