我开发了一个使用OneDrive API的android应用程序。当我连接到OneDrive时,它要求我进行身份验证并显示授权页面(允许访问我在云上的数据)。
我的问题是:每次我在云端上传数据时,应用程序都会显示授权页面。我希望这个页面不要每次都出现。请问我们怎样才能发现它已经被记录了呢?
当为android使用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()函数将用户移动到主应用程序代码中,这将是应用程序真正开始的地方。要查看这个sign in活动的完整细节,请查看Github