【发布时间】:2019-07-31 13:08:02
【问题描述】:
我注意到 Stack Overflow 上的一些海报试图这样做,但我的情况有点不同。我有一个 Login 类,当用户进行身份验证时,我将向他们声明一个 Intent 到我的 NavDrawer 类,该类用作 Main Activity。我正在使用地图片段来显示谷歌地图,但是当用户第一次登录时,蓝点(调用 setMyLocationEnabled = true)不可见。这是由于在加载位置权限请求之前在后台加载了地图。当然,在你授予权限并手动重启应用后,蓝点是可见的,因为权限已经授予。
我正在尝试构建我的逻辑,以便用户登录后,他们必须在地图加载之前授予权限。这样,蓝点就会被启用。
显然这是一个已知的错误:https://issuetracker.google.com/issues/73122459
上面链接中的一个建议是在调用 setContentView 之前在 Activity 中请求权限。我试图这样做,但我的地图仍在后台加载。由于位置是应用程序不可或缺的一部分,我想我可以弹出一个屏幕来阻止显示地图,从而将它们带到他们的设置中。然后当他们返回时,地图将可见。
我喜欢 LimeBike 的做法,它背后有一张透明的地图,所以你仍然可以看到应该在那里的东西。一旦您导航到您的设置并启用位置并返回,他们的地图就会加载并弹出蓝点。有没有人有实现类似的经验?
【问题讨论】:
标签: android google-maps android-permissions setcontentview