我希望将应用程序与 Google Play 服务和 Mortar 集成以检索用户的当前位置。
https://developer.android.com/training/location/retrieve-current.html#CheckServices
这需要在 Google Play 服务不可用的情况下处理 onActivityResult()。
我对如何做到这一点的第一直觉是getFirstScreen()
返回Main.java
一个空白的加载屏幕。
https://github.com/square/mortar/blob/master/mortar-sample/src/main/java/com/example/mortar/core/Main.java
注入后,在onCreate()
执行期间检查 Google Play Services 是否可用。如果是,则调用flow.goTo(<location using screen>)
,如果不是,则什么也不做,等待onActivityResult()
被调用。然后,当onActivityResult()
发生火灾时,只需调用flow.goTo(<location using screen>)
.
以上对我来说似乎有点hacky。(如果您需要澄清,请告诉我)。所以我认为另一个解决方案可能是做一些类似于这个Mortar + Flow 的事情,第三方库连接到活动生命周期并连接onActivityResult()
到演示者。这样做的问题是我无法Activity
从演示者那里访问,这使得无法调用GooglePlayServicesUtil.getErrorDialog(...)
,因为它需要Activity
.
我认为onActivityResult()
是非常重要的。也许它应该是 Mortar 库的一部分?