我正在尝试使用azure移动服务及其身份验证提供程序为Android应用程序添加身份验证。我正在使用移动服务1.1.5 jar和我的android项目目标API 19。
方法登录(MobileServiceAuthenticationProvider,JsonObject, UserAuthenticationCallback)对于类型是不明确的 MobileServiceClient
这是我的代码
private void authenticate() { // Login using the Google provider.
ListenableFuture<MobileServiceUser> mLogin = mClient.login(null, null, null);
Futures.addCallback(mLogin, new FutureCallback<MobileServiceUser>() {
@Override
public void onFailure(Throwable exc) {
createAndShowDialog((Exception) exc, "Error");
}
@Override
public void onSuccess(MobileServiceUser user) {
createAndShowDialog(String.format(
"You are now logged in - %1$2s",
user.getUserId()), "Success");
createTable();
}
});
}
答案 0 :(得分:1)
SDK 1.1.5中没有ListenableFuture重载。您将需要2.0.1 beta版SDK。 Azure team blog上提供了概述和下载此版本的链接。
此外,login()的新重载不带三个参数。您需要传入提供程序,该提供程序可以是字符串或MobileServiceAuthenticationProvider对象。或者,您也可以传递一个标记,它可以是字符串或JsonObject。
如果您的目标是使用Google身份验证,我希望您拨打以下电话:
ListenableFuture<MobileServiceUser> mLogin = mClient.login("google");
如果它有用,则source for the beta SDK可用。
或者,您可以继续使用1.1.5 SDK,但如果您希望对结果采取措施,则可能需要提供UserAuthenticationCallback对象。这将是login()的另一个可选参数。