无法脱机登录



我可以用用户名和密码登录时,互联网连接。如果我在登录时断开网络,我仍然可以听离线列表。如果我重新连接互联网,我就可以再次获得完整的功能,而无需采取任何行动。

但是当网络不可用时,当我启动我的应用程序时,我无法登录以收听离线曲目。

我已经尝试登录blob而不是密码没有成功(有或没有互联网)。我也试过用"rememberme",但它似乎不能在我的应用程序重新启动后存活。

我尝试过空字符串(")以及IntPtr。

密码为零,blob为零。

没有成功。我做错了什么?

我认为@Kendall Frey一刀直入,libspotify实现了离线支持,但你可能至少需要在线才能开始。Spotify的移动和桌面客户端并非如此,但它们并不是基于libspotify构建的。很抱歉,我不认为有任何方法可以绕过这个限制。

离线登录应该在以下条件下使用凭据blob在libspotify中实际工作:

  • 用户至少在线成功登录过一次。
  • 允许libspotify创建并维护磁盘缓存。
  • libspotify能够正确地将凭证写入缓存并在下次验证它们。
  • 允许libspotify在应用程序退出时进行清理是正确的。

缓存是这里的重要部分。你必须给libspotify传递一个可读可写的磁盘位置。

还有非常重要的是正确退出。您必须注销用户并在应用程序退出时等待该进程完成,或者调用flush_caches()并等待该进程完成。否则,libspotify将无法正确写入缓存以启用离线登录。如果你只是退出你的进程没有适当的libspotify清理,离线登录将无法工作。

你说得完全正确!事实上,问题出在键盘后面,因为我被连接状态和登录回调的sp_error弄糊涂了。

我确实成功登录了,就像我连接时一样。

有用户名、密码和"记住我"。

混乱来自api.h

中的注释

SP_CONNECTION_STATE_LOGGED_OUT = 0,///<用户尚未登录>

SP_CONNECTION_STATE_LOGGED_IN = 1,///<登录到一个Spotify接入点>

SP_CONNECTION_STATE_DISCONNECTED = 2,///<已登录,但现在已断开连接>

SP_CONNECTION_STATE_UNDEFINED = 3,///<连接状态未定义>

SP_CONNECTION_STATE_OFFLINE = 4///<以离线模式登录>

当我启动我的应用程序没有互联网连接时,我首先得到登录回调说SP_ERROR_OK,然后我得到SP_CONNECTION_STATE_DISCONNECTED(已登录,但现在已断开)

我期望SP_CONNECTION_STATE_OFFLINE(在脱机模式下登录)没有连接到互联网。

但是

相关内容

  • 没有找到相关文章

最新更新