|
0
|
| Grzegorz Adam Hankiewicz · 技术社区 · 8 年前 |
|
|
1
1
这将返回播放服务版本,然后只需检查之前的程序即可。使用电子邮件和密码()登录 这个问题是由一个特定的条件造成的,当你有2个问题与谷歌播放服务(GPS)。因为GPS也被禁用了谷歌播放商店(GPT),所以不会在设备上运行。 如果您的Google Play服务已过期,则使用connectionResult.service_version_update_required(错误代码2)的错误代码调用ShowErrorDialogFragment,这很好。 但是,如果您的GPS同时被禁用和过期,那么googleapiavilability API的工作方式存在问题。如果您调用isgoogleplayservicesavailable(),它将返回找到的第一个错误,但这不一定是您希望首先解决的错误。问题是知道您还有另一个错误需要首先解决。isGooglePlayServicesAvailable()在这方面没有帮助。 在我的例子中,游戏服务既被禁用,又过时。因此,方法是首先调用ShowErrorDialogFragment,然后您将获得服务\版本\所需更新\的响应错误代码。 Android将试图通过发送一个挂起的内容来启动Google Play Store(GPT)来更新GPS来解决这个问题,但这将失败,因为GPT依赖于启用的GPS版本。因为您正在调用ShowErrorDialogFragment,所以在它无法启动GPT之后,它将调用OnActivityResult。 下一步是对OnActivityResult进行编码。我需要再次测试isGooglePlayServicesAvailable()。如果您仍然获得相同的错误代码(需要服务\u version_update_),那么您需要在OnActivityResult中再次调用ShowErrorDialogFragment,但这次传递一个不同的错误代码,connectionResult.service_disabled(错误代码3)。这将带用户到应用程序管理器,首先启用Google Play服务。然后,当返回应用程序时,您需要测试isgoogleplayservicesavailable,然后它应该检测到google服务仍然是过时的。如果您成功地更新了应用程序,那么onActivityResult应该允许您确定isGooglePlayServicesAvailable是成功的,您可以继续。请注意,您可能需要添加一个标志,以便您知道要再次测试Google Play服务的兼容性,而不是继续执行启动过程。 (因此,googleapiavilability真正应该做的是首先返回禁用的错误(即connectionresult.service_disabled aka error code 3),这样您可以在尝试更新GPS之前先解决这个问题。) |
|
Murilo · Jetpack编写导航栏项目图标 1 年前 |
|
|
KolaYAndr · 活动RESULT_OK似乎从未发生过 1 年前 |
|
psycho_pat · Android应用程序中的权限 1 年前 |
|
|
FarazFiroz · 如何将argb转换为描述性文本颜色 1 年前 |
|
Daniel · Unity Android游戏支持的设备数量太少 1 年前 |