我开发了一个使用OneDrive API的Android应用程序。当我连接到OneDrive时,它会要求我进行身份验证并显示授权页面(有权访问我在云上的数据)。
我的问题是:每次我在云上上传数据时,应用程序都会显示授权页面。我希望这个页面不会每次出现。我们怎么能发现它已经记录好了?
非常感谢!
答案 0 :(得分:0)
使用Andriod的LiveSDK时,假设用户在使用应用程序时始终进行身份验证,为了保留此流程,我们要求您调用LiveAuthClient.initialize(...)来续订用户凭据(没有任何用户输入)或调用LiveAuthClient.login(...)以执行交互式登录(用户输入用户名/密码)。
在LiveSDK示例应用程序中,我们看到这是通过名为SignInActivity.java的启动活动实现的。以下是执行静默凭据续订的相关摘录:
protected void onStart() {
super.onStart();
mAuthClient.initialize(Arrays.asList(Config.SCOPES), new LiveAuthListener() {
@Override
public void onAuthError(LiveAuthException exception, Object userState) {
mInitializeDialog.dismiss();
showSignIn();
showToast(exception.getMessage());
}
@Override
public void onAuthComplete(LiveStatus status, LiveConnectSession session, Object userState) {
mInitializeDialog.dismiss();
if (status == LiveStatus.CONNECTED) {
launchMainActivity(session);
} else {
showSignIn();
}
}
});
}
launchMainActivity()函数将用户移动到主应用程序代码中,这将是您的应用程序认真启动的地方。要查看此登录活动的完整详细信息,请查看示例应用SignInActivity.java in Github