Android 没有互联网时的facebook登录对话框

Android 没有互联网时的facebook登录对话框,android,facebook,Android,Facebook,我的代码有一个简单的问题。。。我有一个facebook按钮,可以为用户打开登录对话框,效果很好。但如果没有互联网,这将需要永远,我不知道如何超时。。。我把它放在一个“尝试”块中,但它仍然需要很长的时间 这是它的代码 try{ facebook.authorize(this,new String[] {"publish_stream", "read_stream", "offline_access"}, new DialogListener() { @Overri

我的代码有一个简单的问题。。。我有一个facebook按钮,可以为用户打开登录对话框,效果很好。但如果没有互联网,这将需要永远,我不知道如何超时。。。我把它放在一个“尝试”块中,但它仍然需要很长的时间

这是它的代码

try{    

    facebook.authorize(this,new String[] {"publish_stream", "read_stream", "offline_access"}, new DialogListener() {
        @Override
        public void onComplete(Bundle values) {}

        @Override
        public void onFacebookError(FacebookError error) {}

        @Override
        public void onError(DialogError e) {}

        @Override
        public void onCancel() {}

        });

    } catch(Exception e) {
        e.printStackTrace();
    }
任何帮助都将不胜感激


另外,这也适用于facebook上的帖子

为什么不加入一些逻辑来检测是否有网络连接,如果没有,为你的用户做点好事,比如告诉他们你需要网络连接。查看更多信息。

我刚刚面临同样的问题,您有两种方法:

  • 在facebook SDK中编辑Util.java,添加1行,如conn.setTimeout(xxx)
  • 升级到最新的facebook SDK,现在它有超时机制

  • 我突然想到了这个想法,这就是我所拥有的ConnectivityManager connec=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);如果(connec.getNetworkInfo(0).getState()==NetworkInfo.State.CONNECTED | | | connec.getNetworkInfo(1).getState()==NetworkInfo.State.CONNECTING)存在问题,则检查是否存在连接,这意味着如果我在本地wifi上,没有internet,同样,该计划将stuckwell你可以尝试ping一个网站,如果这不工作,但连接服务应该在大多数情况下做的工作。还有一些是你无法避免的。。。但通常连接到wifi或移动数据网络的人都有一个活动连接。