1

我在 Backendless Twitter 登录中发现了一个奇怪的行为,“loginWithTwitter”方法的两个可用用途是:

loginWithTwitter(
    Activity context,
    Map<String, String> twitterFieldsMapping,
    AsyncCallback<BackendlessUser> responder, 
    boolean stayLoggedIn
)

loginWithTwitter(
    Activity context,
    WebView webView,
    AsyncCallback<BackendlessUser> responder, 
    boolean stayLoggedIn
)

当然如果我们发送“twitterFieldsMapping”和“webView”参数是我们的选择,但是如果我们这样使用它:

Backendless.UserService.loginWithTwitter(
    LoginActivity.this, 
    null, 
    loginCallback, 
    true
);

我们会得到一个错误,因为它是对 loginWithTwitter 方法的模棱两可的引用。

Android Studio 中出现错误:

错误:(69, 32) 错误:对 loginWithTwitter 的引用不明确,UserService 中的 loginWithTwitter(Activity,WebView,AsyncCallback,boolean) 方法和 UserService 中的 loginWithTwitter(Activity,Map,AsyncCallback,boolean) 方法都匹配

我在这里错过了一些潜在的行为吗?Facebook 和 Google+ 登录方法完美运行,它们各有 5 种方法,而 Twitter 有 8 种方法。

4

1 回答 1

1

你是对的,传递 null 会使调用变得模棱两可,因此还有另一个签名既不采用 WebView 也不采用 twitterFieldMappings (这是与 FB 和 Google 相比的额外方法之一):

public void loginWithTwitter( android.app.Activity context, AsyncCallback<BackendlessUser> responder, boolean stayLoggedIn )
于 2016-05-26T23:01:35.753 回答