1

我正在使用 facebook 帐户工具包来验证手机号码。在少数情况下,我遇到了一些系统问题。请稍后再试

即使我没有得到任何 onActivityResult 再次按下让我进入来自 SDK 本身的手机号码屏幕。

下面是ActivityResult的代码

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



        if (requestCode == 99) { // confirm that this response matches your request
            AccountKitLoginResult loginResult = data.getParcelableExtra(AccountKitLoginResult.RESULT_KEY);
            String toastMessage;
            if (loginResult.getError() != null) {
                AccountKitError error = loginResult.getError();
                try{
                    int code  = error.getDetailErrorCode();
                    String message = error.getUserFacingMessage();
                    AccountKitError.Type type = error.getErrorType();


                    String str_error = "Code : "+code+"\ndescription : "+message+"\ntype : "+type.name()
                            +"\ntype_message : "+type.getMessage()+"\ntype_code : "+type.getCode();
                    showAlert(str_error);
                }catch (Exception e){
                }
                Toast.makeText(getApplicationContext(),"Login Error",Toast.LENGTH_SHORT).show();

            } else if (loginResult.wasCancelled()) {
                Toast.makeText(getApplicationContext(),"Login Canceled",Toast.LENGTH_SHORT).show();

            } else {

                Toast.makeText(getApplicationContext(),"Logged IN",Toast.LENGTH_SHORT).show();

            }

        }

    }

但它总是去登录取消。根据以下链接 https://developers.facebook.com/docs/reference/android/4.11/interface/AccountKitLoginResult/ AccountKitLoginResult 不再可用,但仍然在概述中建议使用相同的。

有人有同样的问题吗?

4

1 回答 1

1

AccountKitLoginResult 实际上是可用的,它是获取数据的正确方法。我认为您只是在查看较旧的文档。这是当前的: https ://developers.facebook.com/docs/reference/androidsdk/current/AccountKit/com/facebook/accountkit/accountkitloginresult.html/

您的应用程序是否直接从输入电话号码屏幕进入错误屏幕,而没有让您选择输入验证密钥?如果是这样,则不应调用 onActivityResult,因为存在系统错误。这里有一些关于错误可能来自哪里的建议:

  1. 检查你的 AndroidManifest.xml,你有所有 3 个的元数据集: com.facebook.accountkit.ApplicationName , com.facebook.sdk.ApplicationId , com.facebook.accountkit.ClientToken
  2. 确保这些元数据的值实际上是 @string/... 键,而不仅仅是直接值。我在我的第一个 accountkit 应用程序上也犯了这个错误,我尝试了几次才意识到这一点。
  3. 我在我的应用程序中犯的另一个大错误是我切换了应用程序 ID 和应用程序名称,它只是告诉我“发生系统错误”,所以我花了一段时间才意识到我为那些发送了错误的值
  4. 此外,只需检查您是否在应用设置的“产品”选项卡下安装了 AccountKit,并且在清单中传递了正确的客户端令牌。

如果您仍然无法修复它,也许您可​​以发布您的 AndroidManifest 部分和您的 onLogin 方法(您在其中设置 AccountKitConfiguration)以提供更多上下文

于 2017-06-26T23:53:07.027 回答