首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >登录错误1118578

登录错误1118578
EN

Stack Overflow用户
提问于 2012-10-06 11:12:48
回答 1查看 5.9K关注 0票数 7

一切都很好,直到我想看看如果用户点击登录与Facebook按钮,没有可用的互联网连接会发生什么。

祝酒词出现时说:

登录失败。请与此应用程序的制造者联系,并要求他们向Facebook报告第1118578期。

在“逻辑猫”中我有:

D/Facebook-授权(2824):用户取消登录。

我试图摆脱这个土司,并在onCancel()方法中显示我自己的错误消息--但是我找不到一种方法来禁用这个吐司。当我再次启用WiFi时,单点登录不再起作用了!

这可能是什么原因?

代码语言:javascript
复制
    private void fbLogin() {
    facebook.authorize(this, new String[] { "email" }, new DialogListener() {
        @Override
        public void onComplete(Bundle values) {
            app.save("fb_token", facebook.getAccessToken());
            app.save("fb_expire", facebook.getAccessExpires());
            mAsyncRunner.request("me", new meRequestListener());
        }
        @Override
        public void onFacebookError(FacebookError error) {}
        @Override
        public void onError(DialogError e) {}
        @Override
        public void onCancel() {}
    });
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    facebook.authorizeCallback(requestCode, resultCode, data);
}

编辑:

为了回答我自己的问题,从android:launchMode="singleInstance"清单中删除<activity>解决了#1118578问题。

但是,我确实需要android:launchMode="singleInstance"作为twitter OAuth登录,因为浏览器通过新的意图将数据传递回活动。如果我没有在清单中提供android:launchMode="singleInstance",则启动一个新的活动,并且它不会接收OAuth验证器。

有没有办法避免这种情况,在同一个活动中使用Facebook和Twitter登录?我想出的唯一解决方案就是用singleInstance为Twitter4j使用虚拟活动。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-12 12:11:31

我克服这一问题的方法是将twitter中的回调从“twitter ://回调”更改为"http://localhost/callback“,并从清单中删除android:launchMode="singleInstance”和twitter意图筛选器。

我仍然可以在WebView中获得响应(而不是像前面那样在onResume()上得到响应):

代码语言:javascript
复制
yourwebview.setWebViewClient(new WebViewClient() {
  @Override
  public void onPageFinished(WebView view, String url) {
    // your_callback == http://localhost/callback
    if(url == null || !url.startsWith(your_callback))
      return;

    Uri         uri = Uri.parse(url);
    String      ov  = uri.getQueryParameter("oauth_verifier");
    AccessToken at  = null;
    ...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12759261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档