gpt4 book ai didi

login - 无法使用 sp_session_relogin (libspotify)

转载 作者:行者123 更新时间:2023-12-04 05:48:43 25 4
gpt4 key购买 nike

我的问题很简单: sp_session_relogin 是如何工作的?

这是我尝试使用它的方法。

bool login(const char* login, const char* password, bool remember)
{
if (remember) {
sp_error err = sp_session_relogin(_session);
if (err==SP_ERROR_OK) {
return true;
}
if (!login||!password) {
return false;
}
}

sp_session_login(_session, login, password, remember, NULL);
return true;
}

我第一次调用我的应用程序
login(0,0,true);

如果它返回false,我会这样记忆
login(username,password,true);

(从 UI 检索用户名和密码)。
然后,如果我关闭应用程序并重新启动它,第一次登录调用继续返回 false。

在 iKendac 的回答后编辑

我正在调用 sp_session_logout() 但我没有等待调用注销回调。我有它,但它不是更好。
这是我的应用程序的结束方式
if (_session) {
if (_loggedin) {
char buffer[1024];
int ret = sp_session_remembered_user(_session,buffer,sizeof(buffer));
if (ret>0) {
printf("remembered user: %s\n",buffer);
}
sp_session_logout(_session);
int msTilNext = 0;
while(_loggedin) {
sp_session_process_events(_session, &msTilNext);
}
}

sp_session_release(_session);
_session = 0;
}

sp_session_remembered_user 正确返回我的用户名。注销后,我正在等待使用 sp_session_process_events 调用注销回调处理事件。调用注销回调时,_loggedin 变为 false,因此循环结束。我释放 session 。和相当的应用程序。

你看到另一个错误或丢失的东西吗?任何的想法 ?

谢谢。

最佳答案

退出申请时,请务必调用 sp_session_logout()并等到注销完成回调被触发,然后才允许应用程序终止。否则你可能会得到一个不完整的缓存,这将导致 sp_session_relogin()失败。

关于login - 无法使用 sp_session_relogin (libspotify),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10359832/

25 4 0
文章推荐: java - 包含最多 N 个项目的 LIFO 数据结构
文章推荐: java - 如何分配对象而不将它们保存在变量中?
文章推荐: web-services - 如何使用 Ksoap 2 从 Web 服务 (.NET) 方法获取 List 到应用程序 android